如何划分或添加时间?我有一段时间参加10公里的比赛,我想从比赛结果中找出每个跑步者每公里的速度。
例如,如果我有一个data.frame
列time
为00:50:00
连续(例如)10公里的行程,我怎样才能找到1公里的步伐(“ 00:50:00“/ 10 km)。使用strptime
我会在H:M:S
中转换字符串,但是当我将列除以10以找到1 km的速度时,R会回答Erreur dans Ops.POSIXt(d$temps, 10) : '/' non défini pour des objets "POSIXt
。我和strptime
有意想不到的约会。
感谢
答案 0 :(得分:2)
这是一种方法。
id <- c("ana", "bob", "caroline")
time <- c("00:50:00", "00:37:00", "00:41:30")
foo <- data.frame(id, time, stringsAsFactors=F)
library(chron)
foo$time <- chron(times=foo$time)
id time
1 ana 00:50:00
2 bob 00:37:00
3 caroline 00:41:30
foo$pace <- foo$time / 10
id time pace
1 ana 00:50:00 00:05:00
2 bob 00:37:00 00:03:42
3 caroline 00:41:30 00:04:09
答案 1 :(得分:0)
由于您没有提供reproducible question,我们不知道您的数据格式是什么,我模拟了以下内容:
time1 <- as.POSIXct(Sys.time())
time2 <- time1 + 1000 # add 1000 seconds-16 2/3 mins
time_elapsed <- time1-time2
distance <- 10
time_elap_dist <- time_elapsed/distance
# Time difference of -1.666667 mins
要按时间进行计算,您需要数据格式正确。