绘制交叉表信息

时间:2019-04-10 13:28:00

标签: r crosstab

我有一个数据框likes

    Gender   Like  
    male     yes    
    female   no  
    female   yes
    other    yes
    male     no
    male     no
    female   no  
    female   yes
    other    no
    male     no
    male     yes

基于此数据框,我想绘制一个直方图,该直方图指定每种性别以及每种性别的“是”和“否”的数量(见图)

enter image description here

如果我使用table(likes),则会得到一个表,该表指定每个性别的“是”和“否”的数量。但是,如果使用plot(table(likes)),则会得到一个很难解释的非常奇怪的情节。

我要怎么做才能得到这样的输出?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作-

ggplot(data = dt) +
  aes(x = Gender, fill = Like) +
  geom_bar(position = "dodge") +
  scale_fill_brewer(palette = "YlGnBu") +
  theme_minimal() +   
  geom_text(aes(label=..count..),stat='count',position=position_dodge(0.9))

输出-

enter image description here

如果您想将Like用作labels,请使用此-

ggplot(data = dt) +
  aes(x = Gender, fill = Like) +
  geom_bar(position = "dodge") +
  scale_fill_brewer(palette = "YlGnBu") +
  theme_minimal() +   
  geom_text(aes(label=paste(Like)),stat='count',position=position_dodge(0.9))

输出2-

enter image description here