2017-04-04 145 views
0

我是R的新手。我看了几个关于如何在R中制作李克特堆积条形图的网站(以及本网站的一个问题)。我不明白他们中的任何一个。每个示例都有大量的NUMEROUS命令。这就好像他们正在向我展示如何通过包含他们可以想到的所有可能的属性来进行绘图,并且我想要的只是一个答案:plot(x,y)likert堆积条形图

为了简单起见,可以说我的数据有2个问题,在3点李克特量表(A,B和C),安排在一个CSV这样的:

 A B C 
    Q1 25 31 56 
    Q2 73 19 4 

的数字代表谁回答与响应问题的人数。例如,对于问题#2,19人选择了Likert响应B.

可以从中创建堆叠条形图的命令的最短数量是多少?

+1

堆叠条形图是很容易的:'barplot(T(MYDATA))' - 但你可能需要显示输出的一个例子你想要。你应该明白,这样的输出可能需要大量的命令_i.e._没有一个基本的解决方案。 – neilfws

回答

0

这应该给你的步骤的想法:

Question <- c("Q1", "Q2") 
A <- c(25,73) 
B <- c(31,19) 
C <- c(56,4) 


data <- data.frame(Question, A, B, C) 


# Install the "reshape" package 
install.packages("reshape") 

# Load reshape package into working directory 

library(reshape) 

# Melt data to long format 

data.melt <- melt(data, id = ("Question"), measure.vars = c("A", "B", "C")) 

# Install ggplot2 package 

install.packages("ggplot2") 

# Load ggplot2 package into working directory 

library(ggplot2) 

# Create your figure 

ggplot(data.melt, aes(x = Question, y = value, fill = variable)) + 
    geom_bar(stat = "identity") 
+0

不,在我理解这些之前,我还有很多东西需要学习,但这是迄今为止我见过的最简洁的例子,谢谢!修改此代码以使其成为分散的堆叠条形图很容易吗? –

+0

@ J.P。 - 你应该看一下R.的''likert'包。 – thelatemail

+0

是的,不应该麻烦地把它变成一个分散的堆积条形图。只需要决定你想要它的外观,然后你可以从那里调味它。 – user3585829