我正在将数据分类到容器和平均值,请参阅this solution。
我使用与上述链接完全相同的解决方案,但将数据修复为散点图。导致我困难的代码是:
myData.class <- cut(df$xaxis, seq(0,30,length=60), include.lowest=TRUE)
mean.yaxis <- tapply(df$yaxis, myData.class, mean)
lines(mean.yaxis ~ seq(0, 30, length=60))
对行的调用产生错误:
Error in model.frame.default(formula = mean.yaxis ~ seq(0, 30, length = 60), :
variable lengths differ (found for 'seq(0, 30, length = 60)')
调用str(mean.yaxis)会产生:
num [1:59(1d)] 0 0 0 0.349 4.652 ...
- attr(*, "dimnames")=List of 1
..$ : chr [1:59] "[0,0.508]" "(0.508,1.02]" "(1.02,1.53]" "(1.53,2.03]" ...
如何在调用功能线(...)时访问正确的数据?
答案 0 :(得分:2)
最佳解决方案在您的链接中接受的答案中给出。这将绘制x轴上的间隔。
cut返回一个比你的序列少1个因子的因子(如你所见)。如果你想要间隔中频,你可以做(采用前一个例子):
data(quakes)
Seq <- c(40, 120, 200, 300, 400, 500, 600, 680)
depth.class <- cut(quakes$depth, Seq, include.lowest = TRUE)
mean.mag <- tapply(quakes$mag, depth.class, mean)
class.mids <- Seq[-1] - diff(Seq)/2
plot(mean.mag~class.mids,xlim=range(Seq))
lines(mean.mag~class.mids)
答案 1 :(得分:0)
也许:
lines(mean.yaxis ~ seq(0, 30, length=length(mean.yaxis)))
HTH