我有一个数据框,其中日期和时间位于两个不同的列中,分别作为因素df$date
和df$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)
图像显示了我想要的输出
我希望所有时间都使用%H :%M :%S
格式,即02:30:15, 03:45:00, 09:45:30