2017-07-13 68 views
-1

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

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() 
+0

你应该[整齐](http://garrettgman.github.io/tidying/)数据先用'tidyr ::收集(DF)'。 –

回答

1

首先,你需要绘制(你可以使用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