0

我有一个如下所示的数据集:

     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 的总和(不是频率)。我该怎么做呢?

4

1 回答 1

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))
于 2012-08-30T19:50:28.297 回答