我有一组看起来像这样的数据(只是更大):
2 7
3 9
5 3
2 4
7 3
3 4
2 2
我想生成一个直方图,其高度为 2(7+4+2),所以 13,高度为 3,高度为 3,5 为 3,7 为 3。
我希望这个问题不是太愚蠢,但我找到的教程并没有讨论这个问题。感谢您提前提供任何帮助。
DF <- read.table(text="2 7
3 9
5 3
2 4
7 3
3 4
2 2")
library(ggplot2)
ggplot(DF,aes(x=V1,y=V2)) +stat_summary(fun.y=sum,geom="bar")
此处给出的其他答案可能已经回答了您的问题,但为了完整起见,如果您不想依赖ggplot
包(我真的想不出这样做的原因,但您可能会),您可以使用aggregate
and的组合barplot
。
> ADF <- aggregate(DF$V2, by = list(V1=DF$V1), FUN = sum)
> barplot(ADF$x, names.arg=ADF$V1)
如果您想从数据中获取汇总总和并稍后绘制它们(ggplot 解决方案完成所有操作),那么从 DF 开始:
> aggregate(V2~V1,data=DF,sum)
V1 V2
1 2 13
2 3 13
3 5 3
4 7 3