R-использовать данные dataframe для создания гистограммы - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь сгенерировать гистограмму из данных ниже:

enter image description here

Там есть пять категорий (screen.out ~ safety.out), и в конце есть общее количество (просто посчитайте, сколько "1" в каждой категории)

Это мой целевой сюжет:

enter image description here

Но я не знаю, как создать свой целевой сюжет. Может ли он просто использовать общее число для создания сюжета (все категории на одном изображении, как в приложении2)? или другой метод?

Спасибо за просмотр.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Я сделал пример с вашими данными, но, пожалуйста, в следующий раз не публикуйте изображения, копируйте и вставляйте действительный код и данные.

Поддельные данные:

library(dplyr)
data <- tibble(
  screen.out = c(rep(1, 19), 0),
  voice.out =  c(rep(0, 15), rep(1,5)),
  cs.out = c(rep(0,10), rep(1, 10))
) # this is just some fake data

Хитрость заключается в том, чтобы агрегировать все столбцы (здесь 3) в два столбца, один с номерами, а другой с исходным именем столбца (это делается с помощью gather ниже).

Сюжет:

library(ggplot2)

data %>% 
  gather("key", "value") %>%  # you can change this names
  ggplot(aes(key, value, fill = key)) + # as long as you update here too accordingly
  geom_col()

enter image description here

0 голосов
/ 11 сентября 2018
datatotal %>%
select(-complaindata) %>%
 gather() %>% 
    ggplot(aes(key, value)) + 
    geom_col() +
    labs(x = "x_name", y = "y_name")

Это должно дать вам сюжет в соответствии с вашим изображением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...