各ファセットの合計が 100% になることを除いて、このようなプロットが必要です。現在、グループ M は 0.20+0.80=1.00 ではなく 0.05+0.25=0.30 です。
df <- rbind(
data.frame(gender=c(rep('M',5)), outcome=c(rep('1',4),'0')),
data.frame(gender=c(rep('F',10)), outcome=c(rep('1',7),rep('0',3)))
)
df
ggplot(df, aes(outcome)) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
facet_wrap(~gender, nrow=2, ncol=1)
(y = ..density.. を使用すると、悪い結果が得られます。)