R:绘制装箱数据

R:绘制装箱数据,r,R,我正在将数据排序到存储箱中并求平均值,请参见 我正在使用与上面链接中完全相同的解决方案,但将数据固定到散点图中。给我带来困难的代码是: 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)) 调用str(mean

我正在将数据排序到存储箱中并求平均值,请参见

我正在使用与上面链接中完全相同的解决方案,但将数据固定到散点图中。给我带来困难的代码是:

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))
调用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]" ...
如何在调用函数行(…)时访问正确的数据?

可能:

lines(mean.yaxis ~ seq(0, 30, length=length(mean.yaxis)))

HTH

最佳解决方案在您链接中的公认答案中给出。这将在x轴上绘制间隔

cut返回一个比序列低1级的因子(如您所见)。如果需要中间间隔,可以执行以下操作(以前一个示例为例):

数据(地震)

Seq如果没有您的数据,或者最好是一个小的、可复制的示例,我们的工作会有点困难。@Roman我发布的链接使用了预安装的地震数据集。将连续数据合并通常被认为是不好的形式。在这件事上我听从弗兰克·哈雷尔的意见@里奇:谢谢你提供的信息,我实际上是在遵循IEC61400,所以就照我说的做吧。但很高兴知道。@Iselzer:这将平均值映射到一边间隔的左边界,另一边间隔的右边界。所以基本上只有中间点在右边,其余的都在左边或右边。
lines(mean.yaxis ~ seq(0, 30, length=length(mean.yaxis)))
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)