r - 将分:秒:毫秒转换为毫秒
问题描述
我有一列时间作为因素存在于以下格式的列中1:38.109
(即 1 分钟、38 秒和 109 毫秒)
如何将其转换为 R 中的单个连续变量(即 98109 毫秒)?
谢谢!
解决方案
library(lubridate)
test <- data.frame(time_fac = c("1:38.109", "2:01.302", "0:23.12", "0:01"))
test$time_ms = as.numeric(lubridate::ms(as.character(test$time_fac)))*1000
as.character
用于在获取时间格式time_fac
之前将因子变量 , 转换为字符,将其转换为数字(以秒为单位)并乘以 1000 以获取以毫秒为单位的时间。lubridate::ms
> test
time_fac time_ms
1 1:38.109 98109
2 2:01.302 121302
3 0:23.12 23120
4 0:01 1000