将日期从因子转换为日期,棘手的数据

时间:2019-08-15 22:08:02

标签: r date posixct

我有一个数据框,其中日期和时间位于两个不同的列中,分别作为因素df$datedf$time。我可以将df$date从要素转换为日期格式。但是df$time列存在问题。某些时间为H:M:S格式,而某些时间为HMS格式。例如,第1行的时间为02:30:15,而第2行的时间为0345,则第3行的时间可能类似于094530。(冒号丢失)

#converting into posixct format
df$newtime <-as.POSIXct(df$time,format="%H: %M :%S")

但是这会生成随机日期,但时间正确,因此我使用strptime删除了年份的月份和日期

df$newtime1 <- format(as.POSIXct(strptime(df$newtime,"%Y-%m-%d %H:%M:%S",tz="")) ,format = "%H:%M:%S")

这给了我正确的时间(以小时,分钟和秒为单位)。但是它会生成一些NA,因为某些时间行中没有冒号(0345而不是03:45)

图像显示了我想要的输出

enter image description here

我希望所有时间都使用%H :%M :%S格式,即02:30:15, 03:45:00, 09:45:30

0 个答案:

没有答案