У меня есть погодные данные. Я видел примеры функций отсюда: http://casoilresource.lawr.ucdavis.edu/drupal/node/991Конвертировать Время в 12 часов до 24 часов Время
Я изменяю код для учета данных аэропорта, который имеет другой тип URL. Еще одна проблема с метеорологическими данными аэропорта заключается в том, что данные времени сохраняются в 12-часовом формате. Вот пример данных:
14 10:43 AM
15 10:54 AM
16 11:54 AM
17 12:07 PM
18 12:15 PM
19 12:54 PM
20 1:54 PM
21 2:54 PM
Вот что я попытался (я вижу, что, используя только «PM» не достаточно внимательны, потому что любые времена от 12 до 1 дня будет выключен, если они проходят через это alg)
date<-Sys.Date()
data$TimeEST<-strsplit(data$TimeEST, ' ')
for (x in 1:35){
if('AM' %in% data$TimeEST[[x]]){
gsub('AM','',data$TimeEST[[x]])
data$TimeEST[[x]]<-str_trim(data$TimeEST[[x]])
data$TimeEST[[x]]<-str_c(date,' ',data$TimeEST[x],':',data$TimeEST[2])
}
else if('PM' %in% data$TimeEST[[x]]){
data$TimeEST[[x]]<-gsub('PM', '',data$TimeEST[[x]])
data$TimeEST[[x]]<-strsplit(data$TimeEST[[x]], ':')
data$TimeEST[[x]][[1]][1]<-as.integer(data$TimeEST[[x]][[1]][1])+12
data$TimeEST[[x]]<-str_trim(data$TimeEST[[x]][[1]])
data$TimeEST[[x]]<-str_c(date, " ", data$TimeEST[[x]][1],':',data$TimeEST[[x]][2])
}
}
Любая помощь?
дата выпуска на самом деле довольно большой. Я хотел бы, чтобы информация о дате/времени была объектом, который может быть помещен в объект зоопарка, но больше, чем основная цель функции - вернуть данные за определенный день. Если я потеряю информацию о дате, которая предоставляется не в колонке для начала, я буду вызывать будущие головные боли. Информация о дате предоставляется пользователем, когда они вводят диапазон дат в начальную функцию. Для каждого дня в этом диапазоне читается веб-сайт, а затем данные очищаются. Часть очистки преобразуется с 12 до 24 часов. Еще раз спасибо –
'# convert Time column в правильно закодированное время даты
' 'data $ TimeEST <- strptime (data $ TimeEST, format = '% I:% M% p')'
'data $ TimeEST <- substr (данные $ TimeEST, 11, 19) ' ' data $ TimeEST <- str_c (дата, данные $ TimeEST) ' ' data $ TimeEST <- as.POSIXlt (данные $ TimeEST, format = '% Y-% m- % d% H:% M:% S ') '@AndresT спасибо за предложения, это то, что я использовал для получения желаемого типа объекта. –
Или 'format (strptime (df2,"% I:% M% p "),"% T ")' –