使用R中的Likert Package分析真实的调查数据

时间:2018-01-19 12:15:30

标签: r

我进行了一项有138个问题的调查,其中只有少数是类似问题,有些问题有不同的尺度。

我一直在尝试使用R中的Likert包来分析和图形化地描绘数据,但是,我正在努力理解其中任何一个。

我已经完成了#34;演示"这只有在你已经知道包裹发生了什么的情况下才有用。它没有解释在能够应用likert包之前必须采取的任何步骤,实际应用于包的内容,如何重命名变量等等。所有你得到的是一堆代码和一个兔子洞向下爬,试图弄明白。

我已经搜索谷歌一步一步指导使用Likert包但却一无所获。

任何人都可以指导我一个指南,或者至少可能提供我在使用Likert包之前必须采用的数据框架步骤吗?

我希望使用此软件包将一些我的列(包含Likert响应)放入堆积的条形图中。

一旦我弄清楚Likert软件包在清理数据框架方面会接受什么,我应该能够按照演示......也许......

这是我迄今为止所做的,基于我对R的有限知识并试图自己解决问题。

   library(likert)
   library(dplyr)
   fdaff_likert <- select(f2f, RESPID, daff_rate)
   fdaff_likert <- data.frame(fdaff_likert)
   fdaff_likert <- likert(items=fdaff_likert[,2, drop = FALSE], nlevels = 5)

我喜欢的输出是:

summary(fdaff_likert)

       Item      low  neutral     high     mean       sd
1 daff_rate 9.977827 37.91574 52.10643 3.802661 1.302508

然而,情节到处都是..(无序)

plot (fdaff_likert)

Stacked Bar plot of performance of DAFF

Likert量表出现故障并且未正确居中。另外,如何将y轴重命名为问题?

为了以后的分析,我如何将其分解为组级别(基于另一列指定原始数据框中的区域?

1 个答案:

答案 0 :(得分:2)

library(likert)
set.seed(1)
n <- 138
# An illustrative example
fdaff_likert <- data.frame(
    RESPID=sample(1:5,n, replace=T), 
    daff_rate=factor(sample(1:5,n, replace=T), labels=c("Good","Neither","Poor","Very Good","Very Poor"))
)
fdaff_likert1 <- likert(items=fdaff_likert[,2, drop = FALSE], nlevels = 5)
# Plot with unordered categories
plot(fdaff_likert1)

enter image description here

# Reorder levels of daff_rate factor
fdaff_likert$daff_rate <- factor(fdaff_likert$daff_rate, 
                                 levels=levels(fdaff_likert$daff_rate)[c(5,3,2,1,4)])

fdaff_likert2 <- likert(items=fdaff_likert[,2, drop = FALSE], nlevels = 5)
# Plot with ordered categories
plot(fdaff_likert2)

enter image description here

以下是使用分组项目创建绘图的说明性示例。

set.seed(1)
fdaff_likert <- data.frame(
    country=factor(sample(1:3, n, replace=T), labels=c("US","Mexico","Canada")), 
    item1=factor(sample(1:5,n, replace=T), labels=c("Very Poor","Poor","Neither","Good","Very Good")),
    item2=factor(sample(1:5,n, replace=T), labels=c("Very Poor","Poor","Neither","Good","Very Good")),
    item3=factor(sample(1:5,n, replace=T), labels=c("Very Poor","Poor","Neither","Good","Very Good"))
)
names(fdaff_likert) <- c("Country", 
                         "1. I read only if I have to", 
                         "2. Reading is one of my favorite hobbies",
                         "3. I find it hard to finish books")

fdaff_likert3 <- likert(items=fdaff_likert[,2:4], grouping=fdaff_likert[,1])
plot(fdaff_likert3)

enter image description here