0

我有一组数据在我跑步时引用我的时间和距离……所以我有两列与时间和距离有关。可以说我跑了,总共3000m。我想要的是我以 30 秒为间隔行驶的平均距离......因此我想要我从 0-30 秒、30 -60 秒等的平均距离......

我做了以下代码:

tapply(data$Distance,cut(data$Time,pretty(range(data$Time),high.u.bias=0.1)),mean)

但这给了我 200 秒间隔的平均值……我该如何改变呢?

4

1 回答 1

1

你的 cut 声明应该是这样的

# cutting every 30 seconds, starting at 0 
#    and going up to 30 seconds more than max of Times
cut(dat$Times, breaks=seq(0, max(dat$Times)+30, 30))
# if your time is in minutes, replace 30 with 0.5 

# Then you can assign it into your data frame if you'd like, 
#  but not necessary

cuts <- cut(dat$Times, breaks=seq(0, max(dat$Times)+30, 30))
by(dat$Dist, cuts, mean)

我假设dat是你的数据框,Dist是你想要平均的向量Times,嗯......你明白了。

于 2013-02-19T07:27:24.100 回答