1

我有一组看起来像这样的数据(只是更大):

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。

我希望这个问题不是太愚蠢,但我找到的教程并没有讨论这个问题。感谢您提前提供任何帮助。

4

3 回答 3

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")

在此处输入图像描述

于 2013-05-16T09:20:12.997 回答
3

此处给出的其他答案可能已经回答了您的问题,但为了完整起见,如果您不想依赖ggplot包(我真的想不出这样做的原因,但您可能会),您可以使用aggregateand的组合barplot

> ADF <- aggregate(DF$V2, by = list(V1=DF$V1), FUN = sum)
> barplot(ADF$x, names.arg=ADF$V1)
于 2013-05-16T09:45:00.873 回答
3

如果您想从数据中获取汇总总和并稍后绘制它们(ggplot 解决方案完成所有操作),那么从 DF 开始:

> aggregate(V2~V1,data=DF,sum)
  V1 V2
1  2 13
2  3 13
3  5  3
4  7  3
于 2013-05-16T09:24:19.507 回答