我有每小时天气数据。我已经在这里看到了函数示例:http://casoilresource.lawr.ucdavis.edu/drupal/node/991。我正在修改代码以适应机场数据,该数据具有不同的URL类型。另一个问题是机场天气数据中的时间数据以12小时格式保存。以下是数据示例:
这是我尝试的内容:(我发现仅使用“PM”不够谨慎,因为通过此算法的任何12点至1点之间的时间都会偏差)
任何帮助吗?
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点之间的时间都会偏差)
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])
}
}
任何帮助吗?
将时间列转换为正确编码的日期时间 <br/>
data $ TimeEST <- strptime(data $ TimeEST,format ='%I:%M%p')<br/> data $ TimeEST <- substr(data $ TimeEST,11,19) data $ TimeEST <- str_c(date,data $ TimeEST) data $ TimeEST <- as.POSIXlt(data $ TimeEST,format ='%Y-%m-%d%H:%M:%S')@AndresT感谢您的建议,这是我用来获得所需对象类型的方法。 - Michael Street