I want a plot like this except that each facet sums to 100%. Right now group M is 0.05+0.25=0.30 instead of 0.20+0.80=1.00.
df <- rbind( data.frame(g
I usually do this by simply precalculating the values outside of ggplot2 and using stat = "identity":
stat = "identity"
df1 <- melt(ddply(df,.(gender),function(x){prop.table(table(x$outcome))}),id.vars = 1) ggplot(df1, aes(x = variable,y = value)) + facet_wrap(~gender, nrow=2, ncol=1) + geom_bar(stat = "identity")