我是 R 新手并尝试进行因子分析(方法 = pca。旋转 = varimax,因子数为 6)。我有一个加载到 R 的调查数据,然后选择了一个案例子集和变量。我做了以下事情:
arab<-read.table("C:\\Users\\admin\\Desktop\\spsapaper\\arabb.csv",header=T,sep=",")
abjor<-subset(arab,COUNTRY=="1")
items<- c("Q2011", "Q2012", "Q4012", "Q4013", "Q5022", "Q5051", "Q5052", "Q5056", "Q5055", "Q6131", "Q6133", "Q6132", "Q2464", "Q2462", "Q2013", "Q2473", "Q2476", "Q2475", "Q2014", "Q5022", "Q2323")
install.packages("psych")
library(psych)
到目前为止一切都很顺利,我使用 fix() 函数检查编辑器中的数据并且它工作正常。然后我跑了:
fit <- factanal(abjor, 6, rotation="varimax")
它给了我:
Error in cov.wt(z) : 'x' must contain finite values only
我试图通过删除缺失值来解决问题:
abjorr<- na.omit(abjor)
它给了我
Error in factanal(abjorr, 6, rotation = "varimax") :
factor analysis applies only to numerical variables
生成了一个没有值的fix()
空数据编辑器。
然后,我尝试了,nabjor<- v[ !is.na( abjor ) ]
然后运行fix()
,它生成了一个包含所有NA
值的数据编辑器。
我正在尝试处理缺失值以运行因子分析,但似乎我遗漏了什么?