Вывод перекрестной информации

#r #crosstab

#r #перекрестная таблица

Вопрос:

У меня есть фрейм данных 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
  

На основе этого фрейма данных я хотел бы нарисовать гистограмму, которая определяет каждый пол и количество «да» и «нет» для каждого пола (см. Рисунок)

введите описание изображения здесь

Если я использую table(likes) , я получаю таблицу, в которой указано количество ответов «да» и «нет» для каждого пола. Однако, если я использую plot(table(likes)) , я получаю действительно странный график, который трудно интерпретировать.

Что я могу сделать, чтобы получить такой результат?

Комментарии:

1. Что-то вроде: ggplot(likes, aes(Gender, fill = Like)) geom_bar(position = "dodge")

2. привет, попробуйте sjp.grpfrq из sjplot пакета strengejacke.de/sjPlot/reference/sjp.grpfrq.html

3. Или, возможно statmethods.net/graphs/bar.html

4. Не совсем связано, но это гистограмма, а не гистограмма. Гистограмма — это определенный тип диаграммы, который показывает непрерывное распределение.

5. Вызов plot table объекта приводит к созданию мозаичного графика. См ?plot.table . : «Это метод общей функции построения графика для (непредвиденных) табличных объектов. В то время как для двух- и более мерных таблиц рисуется мозаичная диаграмма, одномерные таблицы отображаются в виде столбцов. »

Ответ №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))
  

Вывод-

введите описание изображения здесь

Если вы хотите 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-

введите описание изображения здесь