【发布时间】:2018-01-15 14:51:38
【问题描述】:
我想创建一个条形图,其中R显示按变量分组的数据的2 columns 的总和。数据是这样设置的:
"city" "n" "y" <br>
mon 100 200 <br>
tor 209 300 <br>
edm 98 87 <br>
mon 20 76 <br>
tor 50 96 <br>
edm 62 27 <br>
生成的图应将城市作为x-axis,每个城市有 2 个条形图,1 个代表该城市中 "n" 的总和,另一个代表该城市中 "y" 的总和。
如果可能,还可以将每个条中的总和显示为标签?
我尝试了以下方法:
d <- melt(data[,c('City','n','y')],id.vars = 1)
plot <- ggplot(d,aes(x = City,y = value)) + geom_bar(aes(fill = variable),stat = "identity",position = "dodge")
这会生成所需格式的图,但值不是组的总和。
我尝试将数据聚合成这样的总和:
sum_data <- aggregate(. ~ City,data=raw_data,sum)
这给了我想要的每个城市的总和,但由于某种原因,输出中缺少 1 个城市。
使用此代码进行绘图:
ggplot(sum_data,aes(x = City,y = n)) + geom_bar(aes(fill = y),stat = "identity",position = "dodge")
给出了一个条形图,每个城市一个条形图显示 y 的总和作为颜色渐变。考虑到 geom_bar 中的“闪避”命令,这不是我所期望的。
谢谢。
【问题讨论】:
-
本站不是给你做作业的。让我们看看您自己尝试过的一些代码,然后向我们提出一个定义明确的问题,说明哪些事情不起作用。