这是我关于Stackoverflow的第一个问题,所以如果我犯了任何错误,我会道歉..
我正在尝试在R中导入一个包含3行的数据帧,其中第一行的时间表示为:“minutes:seconds,milliseconds”。例如:“05:02,159”。
每当我尝试导入时间,保留毫秒时,整个时间似乎都会重置。
下面是一个示例代码,时间格式与数据帧中的格式相同:
> time1 <- "00:00,05"
> time1
[1] "00:00,05"
正确保留信息以上。然后我尝试将char对象转换为POSIX对象。
> time2 <- as.POSIXct(strptime(time1,"%M:%OS"))
当我尝试可视化“time2”时,只显示日期
> time2
[1] "2016-03-19 CET"
当我尝试格式化输出时,似乎时间信息已被重置
> strftime(time2,'%Y-%m-%d %H:%M:%OS3')
[1] "2016-03-19 00:00:00.000"
> strftime(time2,'%H:%M:%OS3')
[1] "00:00:00.000"
我也尝试调整选项(digits.secs = 3)设置,但没有任何改变。
答案 0 :(得分:2)
用逗号替换逗号。
time1 <- "00:00,05"
time2 <- as.POSIXct(strptime(gsub(",", ".", time1, fixed = TRUE),"%M:%OS"))
strftime(time2,'%Y-%m-%d %H:%M:%OS4')
#[1] "2016-03-19 00:00:00.0499"
请注意,浮点精度与此相关。