R:只计算时间(例如找到每公里的速度)

时间:2014-09-08 15:09:50

标签: r

如何划分或添加时间?我有一段时间参加10公里的比赛,我想从比赛结果中找出每个跑步者每公里的速度。 例如,如果我有一个data.frametime00: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有意想不到的约会。 感谢

2 个答案:

答案 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

要按时间进行计算,您需要数据格式正确。