durations <- "01:01:01" #1 hour 1 min and 1 sec
如何使用基数R来获得与之对应的秒数(或分钟数)的数字10基表示(它将是3661秒)? R中的时间(和日期)总是伤害我。 有很多类似的SO问题(例如here和here),但我仍然没有真正做到正确。 一次尝试是:
as.numeric(format(strptime('00:01:01', format='%H:%M:%S'), '%S'))
答案 0 :(得分:1)
我们将其转换为POSIXlt
后,提取hour
,min
和sec
并执行算术
v1 <- strptime(durations, format='%H:%M:%S')
v1$hour * 3600 + v1$min * 60 + v1$sec
#[1] 3661
或
c(unlist(unclass(v1)[c("hour", "min", "sec")]) %*% c(3600, 60, 1))
答案 1 :(得分:1)
又快又脏:
as.numeric(strsplit(durations, ":")[[1]]) %*% c(3600, 60, 1)