龙空技术网

R数据分析:如何用R做验证性因子分析及画图,实例操练

Codewar 510

前言:

今天姐妹们对“r语言确定因子个数”可能比较关怀,朋友们都想要分析一些“r语言确定因子个数”的相关内容。那么小编也在网上搜集了一些关于“r语言确定因子个数””的相关内容,希望大家能喜欢,咱们快快来学习一下吧!

一篇文章写清楚一个问题,关注我,自学python!

本来打算写一个python做结构方程模型系列的,发现python并不能生成路径图,于是决定先学习R吧,毕竟我时间有限,之后还是会更新python,也会加上R,感兴趣的朋友可以关注一波。今天给大家写写验证性因子分析的做法。还有因为自己用惯了jupyter,用Rstudio不太习惯,所以给jupyter安上了R内核,目前在jupyter中跑R,很舒服。

因子分析

介绍验证性因子分析之前还是先给大家介绍一下因子分析,因子分析分为两种:

探索性因子分析(EFA),探索性因素分析( EFA) 多在发展或编制量表的时侯使用,用来看哪些条目适合选入或哪些条目应该剔除,以及一个构念(潜在变数)底下分别具有那些维度(或可称为分量表)等验证性因子分析(CFA),验证性因素分析(CFA)则多用于一个量表发展完以后,用以检验是否特定的指标(题目)都归到理论预期的各维度底下,主要的目的是理论验证。

所以说做验证性因子分析必须有理论基础,此方法本身只是一种验证性的方法。

举个例子:

比如我现在编了一个量表测量「工作伦理」,我首先应该做个EFA,我发现而依照EFA的结果,我编的量表其下又可分为工作态度与工作意义感两个维度,工作态度有X1~X3共3个条目表示 ,工作意义用X4~X6这六题表示。

那么我们在进行CFA时,就会依照上面的理论设定模型,然后看整个数据适配该模型的结果如何?简言之,就是看理论与实证数据是否贴近,称之为验证。典型的验证性因素分析(在SEM中或称为测量模型)如下例图:

从上面的叙述中我们也可以看到,做因子分析得用两套数据,一套探索,一套验证,本文只写验证性因子分析的做法。

R语言实操首先加载相关包和数据(数据请关注后私信自取),代码如下:

library(lavaan)library(semPlot)data <- read.csv("cfa.csv")
然后设定验证性因子分析的模型,就是设定用哪些条目表示潜变量。在我这个数据中,设定如下:
CFA_model = 'familiar =~ q3 + q13 + q14 + q16 + q20 + q21 + q22 + q23 + q27 + q30attitudes =~ q1 + q2 + q4 + q5 + q8 + q11 + q18 + q19 + q28 + q29aversion =~ q6 + q7 + q9 + q10 + q12 + q15 + q17 + q24 + q25 + q26'

上面的代码就是说q3 + q13 + q14 + q16 + q20 + q21 + q22 + q23 + q27 + q30这些条目就是用来表示familiar这个因子的,attitudes和aversion同。

下一步就是拟合CFA模型了,很简单就用cfa方法就好,参数分别是模型名字和数据,代码如下:

myCFA = cfa(CFA_model, data = data)

在上面的代码中,我将拟合好的模型给myCFA对象。

summary(myCFA)

可以看到直接用summary方法就可以得到模型结果,要查看其他的拟合指标的话还可以用fitmeasure方法,很简单。

最想给大家介绍的就是R的自动出图功能,semPaths真的很强大哈,代码如下:

semPaths(myCFA, whatLabels="std", layout="tree")

后面两个参数都是可以变的,大家可以自己试试,输出如下图:

可以看到各个因子载荷,因子相关都直接显示出来了,很棒。

小结

今天给大家写了CFA的做法和图形画法,感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python的,加油。

(站外链接发不了,请关注后私信回复“数据链接”获取本头条号所有使用数据)

往期文章:

R数据分析:结构方程模型画图以及模型比较,实例操练

python数据分析:如何用python做路径分析,附数据库实例操练

标签: #r语言确定因子个数 #r语言的因子