R中的分组条形图与分类数据

时间:2017-07-13 15:55:49

标签: r bar-chart

我的数据如下

Q1                   Q2                  Q3                   Q4    
Strongly Agree       Strongly Agree      Agree                Agree
Agree                Strongly Agree      Agree                Strongly Agree
Strongly Agree       Disagree            Strongly Disagree    Disagree
Disagree             Agree               Strongly Agree       Agree
Agree                Agree               Disagree             Disagree
Strongly Disagree    Strongly Disagree   Disagree             Disagree

我想制作一个频率为高度的分组条形图。图表底部的群组是“非常同意”,“同意”,“不同意”。和'强烈不同意'。然后在每个小组中都会有不同的问题。

这是我到目前为止所做的:

Question <- c(df$`Q24#1_4`, df$`Q24#1_1`, df$`Q24#1_2`, df$`Q24#1_3`)
ggplot(Question, aes(x = c('Strongly Disagree', 'Disagree', 'Agree', 
                           'Sgrongly Agree'))) + geom_bar()

1 个答案:

答案 0 :(得分:2)

首先,您需要在绘图之前修复数据(您可以使用melt。有很多不同的方法可以做到这一点。)

(1)。您可以创建id列(即rownames)来融化数据

data$id<-rownames(data)

(2)。现在,您可以使用新列

来融化数据

library(reshape)

data_melt<-melt(data, id="id")

(3)。数据已准备就绪......

ggplot(data_melt,aes(factor(value)))+geom_bar(aes(fill = variable), position = "dodge")

enter image description here