我有以下数据:
> head(dataraw)
GMT_DATE GMT_TIME LATITUDE LONGITUDE
1: 5/5/2016 13:00:30 -2.156247 35.44368
2: 5/5/2016 14:00:24 -2.202152 35.44438
3: 5/6/2016 05:02:48 -2.144972 35.56301
4: 5/6/2016 06:00:30 -2.257708 35.46812
5: 5/6/2016 07:00:24 -2.427338 35.37436
6: 5/6/2016 08:00:59 -2.408157 35.34967
我正在使用以下代码合并列GMT_DATE
和GMT_TIME
。请同时找到输出示例:
> dataraw$`Date & Time [Local]`<-as.POSIXct(paste(dataraw$GMT_DATE, dataraw$GMT_TIME), format="%m-%d-%y %H:%M:%S")
> head(dataraw)
GMT_DATE GMT_TIME LATITUDE LONGITUDE Date & Time [Local]
1: 5/5/2016 13:00:30 -2.156247 35.44368 <NA>
2: 5/5/2016 14:00:24 -2.202152 35.44438 <NA>
3: 5/6/2016 05:02:48 -2.144972 35.56301 <NA>
4: 5/6/2016 06:00:30 -2.257708 35.46812 <NA>
5: 5/6/2016 07:00:24 -2.427338 35.37436 <NA>
6: 5/6/2016 08:00:59 -2.408157 35.34967 <NA>
我使用了来自其他帖子的答案,但是代码不适用于我的数据。有什么想法或我可能做错了什么吗?
任何输入都值得赞赏
答案 0 :(得分:1)
这是因为使用了日期分隔符(/)和年份的格式(4位数字)
# format should be format="%m/%d/%Y %H:%M:%S
dataraw$`Date & Time [Local]`<-as.POSIXct(paste(dataraw$GMT_DATE, dataraw$GMT_TIME),
format="%m/%d/%Y %H:%M:%S")
> dataraw
V1 GMT_DATE GMT_TIME LATITUDE LONGITUDE Date & Time [Local]
1 1: 5/5/2016 13:00:30 -2.156247 35.44368 2016-05-05 13:00:30
2 2: 5/5/2016 14:00:24 -2.202152 35.44438 2016-05-05 14:00:24
3 3: 5/6/2016 05:02:48 -2.144972 35.56301 2016-05-06 05:02:48
4 4: 5/6/2016 06:00:30 -2.257708 35.46812 2016-05-06 06:00:30
5 5: 5/6/2016 07:00:24 -2.427338 35.37436 2016-05-06 07:00:24
6 6: 5/6/2016 08:00:59 -2.408157 35.34967 2016-05-06 08:00:59