我有一个跨渠道游泳时间的数据框。这些范围从6:35:00到43:00:00+
。当我尝试使用以下方式转换为日期时间时:
as.POSIXlt(as.character(swims$times)
R 返回NAs
的时间大于23:59:59
。
我尝试过在线搜索等,但还没有找到解决方案。
处理此问题的最佳方法是什么?
皮埃尔这里是数据样本
UniqueID时间
1 187500001 21:45:00
2 191100001 22:35:00
3 192300001 26:50:00
4 192300002 16:33:00
5 192300003 16:58:00
6 192600001 14:39:00
nrussell:你会建议用什么代替POSIXt?
答案 0 :(得分:0)
lubridate包具有持续时间类型。您可以将时间转换为可以与日期一起使用的持续时间。
在这种情况下,您可以将列出的时间转换为小时:分钟:秒到秒并强制使用:
library(lubridate)
as.duration(as.double(substr(swim$time,1,2)) * 3600 + as.double(substr(swim$time,4,5)) * 60)