﻿ 基于探索性因子分析的R软件实现 R Software Implementation Based on Exploratory Factor Analysis

Statistics and Application
Vol. 08  No. 04 ( 2019 ), Article ID: 31575 , 6 pages
10.12677/SA.2019.84068

R Software Implementation Based on Exploratory Factor Analysis

Shikun Wang*, Xiting Wang, Yongqiang Qu, Xuetao Cheng, Haiwen Shen

Nursing College, Kunming Medical University, Kunming Yunnan

Received: Jul. 16th, 2019; accepted: Jul. 28th, 2019; published: Aug. 5th, 2019

ABSTRACT

Purpose: To explore the use of factor analysis in R Software and the validity test of questionnaire structure. Methods: An anonymous questionnaire survey was conducted among nursing students in Kunming Medical University by random sampling, and then factor analysis was carried out with R studio software. Results: Using R studio software, factor analysis can be easily realized, and the structural validity of the questionnaire can be tested. Conclusion: R software is a free, open and convenient software, which shows that R software can easily and quickly complete factor analysis and validity test of questionnaire structure.

Keywords:Exploratory Factor Analysis, R Software

1. 引言

2. 探索性因子分析

2.1. 探索性因子分析模型 [4] (见图1)的一般表达形式为

${X}_{1}={w}_{11}{F}_{1}+{w}_{21}{F}_{2}+\cdots +{w}_{n1}{F}_{n}+{w}_{1}{U}_{1}+{e}_{1}$

Figure 1. Exploratory factor analysis model (Source: Guo Zhigang [5] , 1999)

2.2. 探索性因子分析步骤

① 收集观测变量：通常采用抽样的方法，按照实际情况收集观测变量数据。② 构造相关矩阵：根据相关矩阵可以确定是否适合进行因子分析。③ 确定因子个数：可根据实际情况事先假定因子个数，也可以按照特征根大于1的准则或碎 石准则来确定因子个数。④ 提取因子：可以根据需要选择合适的因子提取方法，如主成分方法、加权最小平方法、极大似然法等。⑤ 因子旋转：由于初始因子综合性太强，难以找出实际意义，因此一般都需要对因子进行旋转(常用的旋转方法有正交旋转、斜交旋转等)，以便于对因子结构进行合理解释。⑥ 解释因子结构：可以根据实际情况及负载大小对因子进行具体解释。⑦ 计算因子得分：可以利用公共因子来做进一步的研究，如聚类分析、评价等 [6] 。

3. 对象和方法

3.1. 对象

3.1.1. 护生对伦理学知识应用效果问卷

3.1.2. 问卷的内部一致性检验

3.2. 方法

3.2.1. 导入数据及数据预处理

① 将65份的数据用EpiData软件录入后导出为sav文件。② 将数据命名为X123456.sav。③ 打开R studio软件，点击import Dataset，选择从SPSS中导入数据。

cor<-cor(X123456)#计算变量相关系数矩阵并赋值给cor。

3.2.2. 判断需要提取的公共因子数

fa.parallel(cor,n.obs=65,n.iter=100,fa=fa,show.legend=FALSE,main=scree plot with parallel analysis)#n.obs：样本量cor：相关系数矩阵；#fa = fa，因子分析；#n.iter：模拟分析的次数；#main：标题命名。运行代码后得到碎石图：

Figure 2. Parallel analysis of gravel maps

3.2.3. 提取公共因子

fa<-fa(correlations,nfactors=7,rotate=none,fm=pa)

#r：相关系数矩阵；#nfactors：设定公共因子数；#rotate：指定旋转方法。

PA1 PA2 PA3 PA4 PA5 PA6PA7

Proportion Var 0.31 0.100.07 0.06 0.040.030.03

Cumulative Var 0.310.41 0.48 0.540.590.62 0.64

3.2.4. 因子旋转

fa.varimax<-fa(correlations,nfactors=7,rotate=varimax,fm=pa)#使用正交旋转来计算。varimax表示最大方差旋转法。pa表示主轴迭代法。

PA1 PA2 PA3 PA5 PA6 PA4 PA7

Proportion Var 0.210.14 0.07 0.07 0.05 0.05 0.05

Cumulative Var 0.21 0.35 0.42 0.49 0.54 0.59 0.64

3.2.5. 获取因子得分

scores<-fa(correlations,nfactors=7,rotate=varimax,fm=pa,scores=TRUE)#Scores：设定是否需要计算因子得分。

3.2.6. 因子分析可视化

fa.diagram(fa.varimax,simple=TRUE,digits=3)#digits=3表示保留3位小数。

Figure 3. Factor analysis visualization (factor score)

Figure 4. Factor analysis visualization

4. 结果

4.1. 根据图3图4得出旋转后的因子得分

4.2. 根据图3所示，提取出公共因子

5. 结论

R Software Implementation Based on Exploratory Factor Analysis[J]. 统计学与应用, 2019, 08(04): 598-603. https://doi.org/10.12677/SA.2019.84068

1. 1. Kabacoff, R.I. R语言实战[M]. 北京: 中国邮电出版社, 2018: 296-297.

2. 2. 薛毅, 陈丽萍. 统计建模与R软件[M]. 北京: 清华大学出版社, 2007: 47.

3. 3. 王本洋. 试卷质量分析的数学模型及其R语言实现[J]. 长江大学学报(自然科学版), 2012(8): 114-116.

4. 4. 孙晓军, 周宗奎. 探索性因子分析及其在应用中存在的主要问题[J]. 心理科学, 2005, 28(6): 1440.

5. 5. 郭志刚. 社会统计分析方法一SPSS软件应用[M]. 北京: 中国人民大学出版社, 1999: 87-111.

6. 6. 周晓宏, 郭文静. 探索性因子分析与验证性因子分析异同比较[J]. 科技与产业, 2008, 8(9): 69.

7. NOTES

*通讯作者。