如何用R语言进行量表的测量不变性检验

文摘   2025-01-12 16:15   北京  


PSYCH统计实验室


Vol.1

引言


在之前,我们曾经向大家介绍过如何使用Mplus进行测量不变性检验(即多组测量不变性检验),也曾经向大家介绍过如何用R语言进行验证性因子分析,既然如此,那为什么不用R语言进行测量不变性检验呢?

问得好。

所以这期我们就来看一下如何用R语言进行量表的测量不变性检验吧~

首先来看一下为什么要对量表进行测量不变性检验:测量不变性是测量的统计特性,表示在组之间测量相同的基础结构,这是组间差异比较的前提(French & Finch, 2006)。

举个例子,很多硕士论文为了凑字数,都会在结果中描述某个变量在不同性别、不同年级、是否为留守儿童等多个方面的结果,并进行差异比较。

实际上,这个做法是不严谨的,因为没有先比较这个变量是否在这些不同组别当中具有测量不变性(既然如此,那在研究中加了测量不变性再进行差异比较,岂不是更容易凑字数?欸,好思路)。

测量不变性的具体原理我就不赘述了,不清楚的朋友请看之前使用Mplus进行测量不变性检验的推文。我们直接来看如何实现。

Vol.2

如何实现

以下所使用的数据无法提供,是目前已接收的一篇文章所使用的数据,等过段时间会给大家发经验分享。这里是对12条目的领悟社会支持量表进行机器学习中蚁群算法的简化(想要学习使用机器学习进行量表简化的朋友,可以报名我们公众号的寒假培训),得到相应的条目,并对得到的6个条目进行CFA以及多组CFA的分析。

library(bruceR)

library(semTools)

set.wd()

CFA.MI <- import("IQR_sample2.sav")#导入数据

PASS.gender <- select(CFA.MI, c(8,"PSSS1":"PSSS12"))#这里取的数据8是性别

PSSS_6_ACO <- PASS.gender[,c(1:5,7:8)]#设置我们用于多组CFA的数据

PSSS_6_ACO$sex <- as.factor(PSSS_6_ACO$sex)#将性别转换为因子型变量

首先进行CFA,看数据拟合结果:

cfa.model2 <- 'Others =~ PSSS1 + PSSS2

 family =~ PSSS3 + PSSS4

friedns =~ PSSS6 + PSSS7'

fit2 <- cfa(cfa.model2, data=PASS.gender,std.lv=T)

summary(fit2,

        fit.measures=TRUE)#卡方自由度,TLI,CFI,RMSEA,SRMR

fitmeasures(fit2, c("chisq","df","pvalue",'cfi', "tli",'rmsea', 'SRMR'))

可以看到模型拟合良好,接着绘制相应的模型图

library(semPlot)

semPaths(fit2,

         whatLabels="std",#绘制标准化系数

         layout="tree",#“tree”或“tree2”比较好看

         rotation = 1,#当使用“tree”或“tree2”layout时的旋转。

         # 1、2、3、4表示外生变量分别放在顶部、左侧、底部和右侧。

         color = "lightblue",

         style="lisrel")#当前表示的(残差)方差是什么样的,也有其它选项,但这个最好看

接着就是从形态等值、单位等值、尺度等值到最后的严格等值的逐渐分析了:

fit.config <- cfa(cfa.model2,data=PSSS_6_ACO,group = "sex")

fit.metric <- cfa(cfa.model2,data=PSSS_6_ACO,group = "sex",group.equal="loadings")

fit.scalar <- cfa(cfa.model2,data=PSSS_6_ACO,group = "sex",

                  group.equal=c("loadings","intercepts"))

fit.strict <- cfa(cfa.model2,data=PSSS_6_ACO,group = "sex",

                  group.equal=c("loadings","intercepts","residuals"))

等到这四个相应的模型后,可以进行比较:

compare_out <- compareFit(fit.config,fit.metric ,fit.scalar,fit.strict)

summary(compare_out)#结果跟mplus略有区别,但区别不大,不超过0.002,可接受。

软件就会自动帮我我们分析好相应的卡方差异检验的结果以及各个模型的拟合指标,最后还会计算相应的差值。如果想要放在论文中的话,可以整理成下面这种形式(Wu et al., 2024):

注:上表由Mplus分析整理。刚刚代码中summary的结果不会呈现RMSEA的90%区间的结果,如果想要进行查看的话,可以点击compare_out进行查看:

Vol.3

结语

以上就是本期推文的全部内容啦,如果大家还有其它想要知道的教程,可以在评论区留言或者私信留言噢~


参考文献

French, B. F., & Finch, W. H. (2006). Confirmatory factor analytic procedures for the determination of measurement invariance. Structural equation modeling: a multidisciplinary journal, 13(3), 378-402. https://doi.org/10.1207/s15328007sem13033 


Wu, Y., Tang, J., Meng, X., Wang, F., Sun, X., Fan, S., . . . Wu, Y. (2024). Validation and structural exploration of the Chinese version of the Body Talk Scale. Body image, 51, 101766. 


PSYCH统计实验室

通知公告

1、Psych统计自习室寒假培训班火热报名中!

详情介绍(点击本行文字跳转)


2、网络分析课程目前开放视频课啦

单次课200元/讲(学生),250元/讲(非学生)

共有四讲内容:

①横断面网络分析简介与基础

②网络分析与因子分析

③交叉滞后网络分析

④时间序列网络分析

购买后开放视频权限14天,可多次申请。

并赠送所有课程相关资料(无PPT)

如果想申请购买,请联系M18812507626


更多资讯

关注我们

文稿:久久

排版:Little Star
责编:Wink
审核:摘星

本文由“Psych统计自习室”课题组原创,欢迎转发至朋友圈。如需转载请联系后台,征得作者同意后方可转载。

Psych统计自习室
大家好,我们是由来自北京师范大学,西南大学,天津医科大学等高校在读硕士、博士研究生组成的一个科研团队——Psych统计自习室。Psych统计自习室旨在关注心理学、精神病学领域的最前沿的系列研究,并做前沿统计知识的分享。
 最新文章