我想使用此数据框的geom_bar()创建并排的barplot,
> dfp1
value percent1 percent
1 (18,29] 0.20909091 0.4545455
2 (29,40] 0.23478261 0.5431034
3 (40,51] 0.15492958 0.3661972
4 (51,62] 0.10119048 0.1726190
5 (62,95] 0.05660377 0.1194969
将x轴上的值和百分比作为并排条形图。我尝试使用此代码,
p = ggplot(dfp1, aes(x = value, y= c(percent, percent1)), xlab="Age Group")
p = p + geom_bar(stat="identity", width=.5)
但是,我收到此错误:错误:美学必须为长度1,或与dataProblems:value相同的长度。我的percent和percent1与value的长度相同,因此感到困惑。谢谢您的帮助。
最佳答案
您需要先通过melt
对数据进行value
。默认情况下,它将创建另一个名为value
的变量,因此您需要将其重命名(我称之为percent
)。然后,使用fill
绘制新数据集以将数据分成几组,然后使用position = "dodge"
绘制条形并排(而不是彼此重叠)
library(reshape2)
library(ggplot2)
dfp1 <- melt(dfp1)
names(dfp1)[3] <- "percent"
ggplot(dfp1, aes(x = value, y= percent, fill = variable), xlab="Age Group") +
geom_bar(stat="identity", width=.5, position = "dodge")
关于r - ggplot并排geom_bar(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25070547/