我有20个列,每个列代表一个问题(个人资料),而我的调查中的受访者(在主题设计中)必须选择5个选项中的一个(从A到E的缩写比例)。 现在我想统计检验答案的分布在不同的问题(配置文件)中是否不同。为了这样,我必须在可能成对比较配置文件的交叉表上运行Stuart Maxwell测试。
如果我只进行一次比较,那么过程非常简单: -1例如,在Q1和Q2上制作响应的交叉表(tab1) 2-执行SM(stuart.maxwell.mh(tab1))测试" irr"包。 3-提取p值
但这样做超过20个问题就太费时了。 我需要一个函数或循环来进行测试并提取p.values并将它们打印在矩阵中供我使用。 有什么帮助吗?
data <- data.frame(Q1=sample(1:5, 20, replace=T),
Q2=sample(1:5, 20, replace=T),
Q3=sample(1:5, 20, replace=T),
Q4=sample(1:5, 20, replace=T),
Q5=sample(1:5, 20, replace=T),
Q6=sample(1:5, 20, replace=T),
Q7=sample(1:5, 20, replace=T),
Q8=sample(1:5, 20, replace=T),
Q9=sample(1:5, 20, replace=T),
Q10=sample(1:5, 20,replace=T) ) #fake data
choose(n=10, k=2) # possible pairwise comparisons n!/k!(n-k)!
library(irr) # to run Stuart-Maxwell test
crosstab1<-table(data$Q1,data$Q2)
test1<-stuart.maxwell.mh(crosstab1)
p.value1 <- (test1$p)