2

我是 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值的数据编辑器。

我正在尝试处理缺失值以运行因子分析,但似乎我遗漏了什么?

4

1 回答 1

1

怎么样:

abjor2<-complete.cases(abjor)

complete.cases函数将只为您提供那些没有任何 NA 值的行。

于 2013-11-12T16:06:01.200 回答