希望有人可以帮我用百分比标记分组条形图的列。我找不到可以成功工作的现有帖子。以下是基本示例数据框的代码。向GGplot2中的分组条形图添加百分比
Service<-c("AS","AS","PS","PS","RS","RS","ES","ES")
Year<-c("2015","2016","2015","2016","2015","2016","2015","2016")
Q1<-c("Dissatisfied","Satisfied","Satisfied","Satisfied","Dissatisfied","Dissatisfied","Satisfied","Satisfied")
Q2<-c("Dissatisfied","Dissatisfied","Satisfied","Dissatisfied","Dissatisfied","Satisfied","Satisfied","Satisfied")
Example<-data.frame(Service,Year,Q1,Q2)
接着,我与Reshape2熔化它,这样我可以绘制沿x轴的Q1和Q2列变量。然后我用ggplot2创建了一个基本的分组条形图,其中y轴计数,然后是每年的一个方面。
ExampleM<-melt(Example,id.vars=c("Service","Year"))
ggplot(ExampleM,aes(x=variable,stat="identity",fill=value)) +
geom_bar(position="dodge") + facet_grid(~Year)
我在努力的是如何添加列标签。具体而言,我想知道如何添加基本频率计数以及百分比。不是两个在一起,而是在一个或另一个。我无法做任何工作。我尝试过使用“+ geom_text(aes(labels =”,但是我不确定把ggplot代码中使用stat =“identity”作为标签的内容。
另外,对于百分比,我需要先用dplyr进行计算,还是可以计算ggplot代码中的百分比?我对R中的标签也不太了解,所以不知道如何添加实际的%符号。给我一个基本的方式来实现这一切!
非常感谢这么长时间和彻底的解释。我有一个关于dplyr代码的问题。我还是dplyr的新手,第二个“group_by line”的原因是什么?另外,我不太了解y = n.pos行吗?它在我尝试代码时起作用,所以我只想更好地理解它。 – Mike
ggplot(PlotsProp,aes(x = variable,y = percent,fill = value))+ geom_bar(position =“dodge”,stat =“identity”)+ geom_text(aes(label = percent(percent)),position = (标题=百分比)+ xlab(“问题”)+ ylab(“受访者百分比”)+ ggtitle(“受访者年份百分比”)+ facet_grid(〜Year) – Mike
此外,我还发现了另一种添加百分比的方法,使用“scales”包。我在上面的评论中发布了代码。所以我的下一个问题是,如果你可以花时间做出另一个快速答案,那么我是如何按百分比降序排列x轴列的?我试图使用dplyr的安排,这工作,但它似乎并没有转化为ggplot2。这是我使用的dplyr代码:订单<-ExampleM%>%group_by(variable,Service,value)%>%summarize(count = n())%> mutate(percent = round((count/sum(count)),2) )%>%arrange(desc(percent)) – Mike