R-从预定义的bin表中生成频率表

时间:2019-11-26 12:42:55

标签: r frequency binning

我需要生成一些气泡大小数据的累积频率图(我有> 1000000个对象)。在地质学中,我们这样做的方法是使用几何合并。

我使用以下方法计算垃圾箱:

最小物体值aka 0.0015mm * 10 ^ 0.1 =仓位1的上限,每个成功仓位的上限通过将下限乘以10 ^ 0.1来生成 Bin 1:0.0015-0.001888388 Bin 2:0.00188388-0.002377340

我试图编写一个while循环来生成这些作为R中的断点,但是它没有用。因此,我在Excel中生成了垃圾箱,现在有了一个表,其中的垃圾箱范围从最小的对象到最大的垃圾桶,大小适当的垃圾箱。

我现在要做的是将其读入R,并使用它来查找每个bin中对象的频率。我找不到方法-可能是因为在大多数学科中,您不会像这样设置垃圾箱。

我是R的新手,所以我试图使我的代码保持简单。

谢谢

B

1 个答案:

答案 0 :(得分:0)

最简单的选择是使用?cut。这是随机生成数据的示例。

# generate data
set.seed(666)
runif(min=0, max=100, n=1000) -> x

# create arbitrary cutpoints (these should be replaced by the ones generated by your geometric method)
cutpoints <- c(0, 1, 10, 11, 12, 15, 20, 50, 90, 99, 99.01, 100)

table(cut(x, cutpoints))

  (0,1]      (1,10]     (10,11]     (11,12]     (12,15]     (15,20]
      9          92          13          10          27          45
(20,50]     (50,90]     (90,99]  (99,99.01] (99.01,100]
    310         399          87           0           8

还请注意include.lowest中的cut参数默认为FALSE:

  

include.lowest:逻辑,指示“ x [i]”是否等于最低             (或对于“正确=否”,则为最高)“休息”值应为             包括在内。