计算R中的范围内的出现次数

时间:2014-03-28 18:26:42

标签: r tapply

我的数据集看起来像这样

 98      11
 99.5    12
 100     12
 101     13
 100.2   10
 100.5   10.5

我想创建一个看起来像这样的结果集

         10-11   11-12  12-13  
 98-99    1      1       0
 99-100   0      1       0
 100-101  2      1       1

欢迎任何帮助。

1 个答案:

答案 0 :(得分:3)

你的问题没有明确规定边界条件,你应该得到:

> table(cut(DS[,1], c(98:101), right=FALSE), cut(DS[,2], c(10:13), right=TRUE))

            (10,11] (11,12] (12,13]
  [98,99)         1       0       0
  [99,100)        0       1       0
  [100,101)       1       1       0

或者这个:

> table(cut(DS[,1], c(98:101), right=FALSE), cut(DS[,2], c(10:13), right=FALSE))

            [10,11) [11,12) [12,13)
  [98,99)         0       1       0
  [99,100)        0       0       1
  [100,101)       2       0       1

但不是你在OP中展示的那个。