我让调查受访者按重要性顺序对一系列项目进行排名,从 1 到 7。因此,如果受访者将 1 分分配给一个变量,那么其他变量也不会得到 1。数据集在下面的 test.data 中复制。我有三个问题:
- 我应该将其解释为排名数据而不是区间数据吗?我想是的,但我不确定。
- 如果它们是排名数据,使用 Wilcoxon-Mann-Whitney U 或 Kruskal-Wallis 检验根据预测变量的水平来检验中位数 (?) 排名的差异是否明智?
- 如果它们是排名数据,我可以使用 Spearman 的 Rho 构建相关矩阵吗?
- 如果可能的话,我是否可以对该相关矩阵使用因子分析来可能减少数据集并测量一些假设的基础结构?
我已经尝试使用以下步骤基本上完成这些步骤,尽管我现在看到有一篇论文和一个 R 包建议对排名数据执行因子分析的可能性。
谢谢你的建议。
library(psych)
#Create Data frame
test.data<-replicate(10, sample(seq(1,6,1), replace=F))
#transpose
test.data<-t(test.data)
#data frame
test.data<-data.frame(test.data)
#Provide names
names(test.data)<-c('item1', 'item2', 'item3', 'item4', 'item5', 'item6’)
#Some predictors
test.data$gender<-factor(sample(c('M', 'F'), replace=T,size=10))
test.data$position<-factor(sample(c('Journ', 'Pol'), replace=T, size=10))
#Correlation Matrix
cor.matrix<-cor(test.data[,1:6], method=c('spearman'))
#Factor Analysis
plot(eigen(cor.matrix)$values, type='o')
fa(cor.matrix, method='pa', rotate='none', nobs=nrow(test.data))
#Kruskal-Wallis or Mann-Whitney depending on predictor levels
lapply(test.data[,1:6], function(x) kruskal.test(x~position, data=test.data))