我有一组数据在我跑步时引用我的时间和距离……所以我有两列与时间和距离有关。可以说我跑了,总共3000m。我想要的是我以 30 秒为间隔行驶的平均距离......因此我想要我从 0-30 秒、30 -60 秒等的平均距离......
我做了以下代码:
tapply(data$Distance,cut(data$Time,pretty(range(data$Time),high.u.bias=0.1)),mean)
但这给了我 200 秒间隔的平均值……我该如何改变呢?
你的 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
,嗯......你明白了。