R使用数据框的数据制作直方图

时间:2018-09-11 09:14:20

标签: r

我正在尝试根据以下数据生成直方图:

enter image description here

有五个类别(screen.out〜safety.out),最后有一个总数(只计算每个类别中有多少个“ 1”)

这是我的目标剧情:

enter image description here

但是我不知道如何生成目标图。是否可以仅使用总数来生成绘图(一张图片中的所有类别都与附件2一样)?或其他方法?

感谢收看。

2 个答案:

答案 0 :(得分:0)

datatotal %>%
select(-complaindata) %>%
 gather() %>% 
    ggplot(aes(key, value)) + 
    geom_col() +
    labs(x = "x_name", y = "y_name")

这应该为您提供图像中设计的图。

答案 1 :(得分:0)

我已经用您的数据作为示例,但是下次请不要发布图像,复制并粘贴实际的代码和数据。

假数据:

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