我是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绘制它。
我查看了如何使用拆分和剪切,但我不太确定如何利用数据后,我把它切成范围。如果我对一个切分“中断”,我不知道如何包含零初始值(在示例中对应于.4 )。
如有任何建议或方法,将不胜感激。
发布于 2013-06-21 19:07:05
你和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)
那么您可以使用aggregate
aggregate(dat$Percent, list(cuts), sum)
或者作为一名单身汉:
aggregate(dat$Percent,
list(cut(dat$Depth,
breaks=c(0, 1, 6, 9, 11),
right=FALSE)),
sum)
https://stackoverflow.com/questions/17242362
复制相似问题