Bin的计数直方图

时间:2012-08-30 19:43:45

标签: r

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

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

1 个答案:

答案 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))