将数据放入不相等的箱尺寸

ash*_*h57 1 r dataset binning

我是R的新手,想要利用它来直接使用我的数据.我的最终目标是制作直方图/条形图.

深度:0,1,2,3,4,5,6,7,8,9,10

百分比:.4,.1,.5,.2,.1,.3,.9,.3,.2,.2,.8

我想取深度向量并将其分成不相等的块(0,1-5,6-8,9-10),并取百分比值并以某种方式将它们加在一起以得到匹配的块.

例如:

0 - > .4

1-5 - > 1.2

6-8 - > 1.4

9-10 - > 1.0

实际数据集成千上万,我觉得R可能更适合这个,然后使用C++将数据分组到一个较小的表中,然后让R绘制它.

我查找了如何使用SPLIT和CUT,但我不太确定如何在将数据切割成范围后使用数据.如果我为CUT"中断",我不知道如何包含Zero初始值(对应于示例中的.4).

任何建议或方法将不胜感激.

Jus*_*tin 8

你正走在正确的轨道上cut:

dat <- data.frame(Depth = 0:10,
                  Percent = c(0.4, 0.1, 0.5, 0.2, 0.1, 0.3, 0.9, 0.3, 0.2, 0.2, 0.8))

cuts <- cut(dat$Depth, breaks=c(0, 1, 6, 9, 11), right=FALSE)
Run Code Online (Sandbox Code Playgroud)

然后你可以使用aggregate:

aggregate(dat$Percent, list(cuts), sum)
Run Code Online (Sandbox Code Playgroud)

或者作为oneliner:

aggregate(dat$Percent, 
          list(cut(dat$Depth, 
                   breaks=c(0, 1, 6, 9, 11), 
                   right=FALSE)),
          sum)
Run Code Online (Sandbox Code Playgroud)