我有一个如下所示的数据集:
X1 X2
546 1 7.893310
547 0 9.723409
548 0 9.256349
549 1 -21.008398
550 5 0.151026
我想在X轴上创建一个X2箱的直方图。 y轴需要包含X1乘以bin(而不是频率)的总和。我该怎么做呢?
答案 0 :(得分:2)
查看cut
以获取数据。然后tapply
为你的总和。
> dat$cuts <- cut(dat$X2, c(-Inf, 0, 8, 16, Inf))
> dat
X1 X2 cuts
546 1 7.893310 (0,8]
547 0 9.723409 (8,16]
548 0 9.256349 (8,16]
549 1 -21.008398 (-Inf,0]
550 5 0.151026 (0,8]
>
> tapply(dat$X1, dat$cuts, sum)
(-Inf,0] (0,8] (8,16] (16, Inf]
1 6 0 NA
然后你可以绘制许多不同的方式,最简单的方法:
barplot(tapply(dat$X1, dat$cuts, sum))