Likert 分析:使用 wilcoxon 确定 R 中预调查数据和 post 调查数据之间的显着性

Likert Analysis: Using wilcoxon to determine significance between pre and post survey data in R

我在统计学方面的经验很少,如有任何帮助,将不胜感激。我目前正在使用 R 来执行此操作。

我正在尝试确定李克特分析数据的重要性。我有一份 sheet 我们的预调查和 post 调查,有 25 个问题(列),59 名学生(行)的回答。

我正在使用 Wilcoxon 符号秩检验,即。通过将预调查数据的第一列与 post 调查数据的第一列进行比较来测试第一个问题的重要性,然后是第二个问题,依此类推。

我如何为 运行 Wilcoxon 测试写一个 for 循环来回答所有问题?

到目前为止我已经找到了这个,但是没能 运行 正确地找到它。即使帮助理解一些语法也会很棒。

test.fun <- function(dat, col) { 

 c1 <- combn(unique(dat$group),2)  sigs <- list()  for(i in 1:ncol(c1)) {
    sigs[[i]] <- wilcox.test(
                   dat[dat$group == c1[1,i],col],
                   dat[dat$group == c1[2,i],col]
                 )
    }
    names(sigs) <- paste("Group",c1[1,],"by Group",c1[2,])

 tests <- data.frame(Test=names(sigs),
                    W=unlist(lapply(sigs,function(x) x$statistic)),
                    p=unlist(lapply(sigs,function(x) x$p.value)),row.names=NULL)

 return(tests) }


tests <- lapply(colnames(dat)[-1],function(x) test.fun(dat,x)) names(tests) <- colnames(dat)[-1]

在此先感谢您。

这里有一个 运行ning wilcoxon 检验的例子,基于你所描述的内容:

示例数据:假设响应被评为 1 到 5,预调查和 post 调查分开保存,并具有匹配的列名称。

pre <- replicate(25, sample(1:5, 59, replace=T))
post <- replicate(25, sample(1:5, 59, replace=T))
colnames(pre) <- colnames(post) <- paste0("Q", 1:25)

为了 运行 wilcoxon 测试,使用 lapply 函数循环每个将插入所选 pre[x] 和 post[x] 的列名 (x)测试的数据。所有 25 项测试的结果 return 作为列表 (all.test):

all.test <- lapply(colnames(post), function(x) wilcox.test(pre[,x], post[,x]))

要一次提取所有测试的统计数据和p.value,请使用 sapply 循环每个 wilcoxon 测试并提取 ('[') "statistics" 和 "p.value" 以及 return作为矩阵。

sapply(all.test, '[', c("statistic", "p.value"))
          [,1]      [,2]    [,3]     [,4]      [,5]      [,6]      [,7]      [,8]       [,9]      [,10]    
statistic 1556.5    1931    1718     1894.5    1659      1785      1652.5    2066.5     1912.5    1658     
p.value   0.3122574 0.29259 0.903439 0.3976938 0.6555535 0.8086088 0.6301387 0.07366355 0.3451189 0.6523042
          [,11]     [,12]     [,13]    [,14]      [,15]     [,16]     [,17]      [,18]     [,19]     [,20]    
statistic 1605.5    1723      1678.5   1368       1810      1813      2082        1595      1862.5    1588     
p.value   0.4591325 0.9254467 0.735141 0.04035589 0.7040117 0.6920512 0.06084165 0.4222573 0.5027951 0.4028304
          [,21]     [,22]     [,23]     [,24]     [,25]    
statistic 1986.5    1816.5    1854      1819.5    1859.5   
p.value   0.1772745 0.6779568 0.5344984 0.6661272 0.5147567