Mam godzinowe dane pogodowe. Widziałem tutaj przykłady funkcji: http://casoilresource.lawr.ucdavis.edu/drupal/node/991Konwersja 12-godzinna do 24-godzinna
Zmieniam kod, aby uwzględniał dane portu lotniczego, który ma inny typ adresu URL. Inną kwestią związaną z danymi pogodowymi lotniska jest to, że dane czasu są zapisywane w formacie 12-godzinnym. Oto przykład danych:
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
oto co próbowałem: (widzę, że używając tylko „PM” nie jest na tyle ostrożny, ponieważ wszelkie czasy między 12 i 1 po południu będzie wyłączona, jeśli przez to przejść 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])
}
}
Każda pomoc?
data wydania jest raczej dość duża. Chciałbym, aby informacje o dacie/czasie były obiektem, który można umieścić w obiekcie zoo, ale większy niż główny cel tej funkcji to zwrócenie danych dla określonego dnia. Jeśli utracę te informacje o dacie, których przyznanie nie znajduje się w kolumnie, zacznę powodować przyszłe bóle głowy. Informacje o dacie są dostarczane przez użytkownika, gdy wprowadzają zakres dat do funkcji początkowej. Dla każdego dnia w tym zakresie odczytywana jest strona internetowa, a następnie dane są czyszczone. Część czyszczenia zmienia się z 12 na 24 godziny. Jeszcze raz dziękuję –
'# Konwertuj kolumnę czasu na odpowiednio zakodowany czas daty
' $ $ TimeEST <- strptime (dane $ TimeEST, format = '% I:% M% p') '
' dane $ TimeEST <- substr (data $ TimeEST, 11, 19) ' ' data $ TimeEST <- str_c (data, dane $ TimeEST) ' ' data $ TimeEST <- as.POSIXlt (dane $ TimeEST, format = '% Y-% m- % d% H:% M:% S ') '@AndresT dzięki za sugestie, to jest to, czego użyłem do uzyskania pożądanego typu obiektu. –
Lub 'format (strptime (df2,"% I:% M% p "),"% T ")' –