首页 > 解决方案 > 制作具有多个分类变量的堆叠或多面条形图

问题描述

更新:我有分类数据(所有二进制数据),并希望制作一个可以表示所有变量的条形图,以便更容易看出哪个对因变量影响最大。所以,例如,我有这个:

df<- data.frame(
DV=c(0,0,1), 
V1=c(0,0,0), 
V2=c(0,0,1), 
V3=c(0,1,0))

这就是我的想法。底部的分段条形图是理想的,但顶部的刻面条形图也可以

在此处输入图像描述

这是我尝试过的:

library(reshape2)
s<-as.data.frame(prop.table(ftable(df[c('DV', 'V1', 'V2', 'V3')])))

mdfr <- melt(s, id = "DV", measure="V1", "V2", "V3")
library(scales)

#And once that works I'd plot it this way
(r <- ggplot(mdfr, aes(position, value, fill = variable)) +
    geom_bar(position = "fill", stat = "identity")) +
    scale_y_continuous(labels = percent)

创建 s 工作正常,但我需要的是频率作为 mdfr 中的值,而不是它的分类变量的值。谁能帮助弄清楚如何以正确的方式做到这一点?

提前致谢!

标签: rbar-chartfacet

解决方案


推荐阅读