我有一个如下所示的数据集:
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 轴需要按 bin 包含 X1 的总和(不是频率)。我该怎么做呢?
我有一个如下所示的数据集:
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 轴需要按 bin 包含 X1 的总和(不是频率)。我该怎么做呢?
看看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))