R分析|怎么样使用piecewiseSEM构建结构方程模型?保姆级教程

一、引言

       结构方程模型(SEM)已被广泛应用于多学科进行数据挖掘。其中在R中实现的结构方程模型是方便快捷的。今天要介绍的piecewiseSEM包就是R中实现SEM的一种方式。

      piecewiseSEM被开发出来主要目的是为了解决复杂模型简化后进行分段分析。个人认为最大的特点是更灵活,且采用的是原始数据,并不是传统的协方差矩阵。其次,将SEM破碎化为多个独立的方程,对样本量要求较少。对于piecewiseSEM包更详细的基础知识了解大家可以通过该包作者所发表的文章深入学习,原文可参考piecewiseSEM 文档。

二、文献美图欣赏

图源:Ghosh, S., Matthews, B. & Petchey, O.L. Nat Ecol Evol 8, 1835–1846 (2024).

a, b, 分段结构方程模型(Piecewise Structural Equation Model)展示了多个生物和非生物因子对鸟类 (Fisher’s C 统计值:C = 6.697,P = 0.35,自由度 = 6,n = 1,246) (a) 和鱼类群落 (Fisher’s C 统计值:C = 11.325,P = 0.079,自由度 = 6,n = 580) (b) 稳定性的直接和间接影响。Fisher’s C 统计检验中,P 值 > 0.05 表示模型拟合良好。蓝色框中提供了边际决定系数 (r²m),表示固定效应解释的方差,以及条件决定系数 (r²c),表示整个模型解释的方差。

实线黑色和红色箭头分别表示显著的正向和负向影响(当 P 值 < 0.05,双侧检验;标准化路径系数四舍五入至小数点后两位),虚线箭头表示不显著的影响(当 P 值 > 0.05,双侧检验),而黄色高亮的路径是基于统计学推理假设的,并非生物学意义上的必然关系。每条实线箭头的宽度与标准化路径系数成正比。

 

图源:Wei, N., Kaczorowski, R.L., Arceo-Gómez, G. et al. Nature 597, 688–692 (2021).

a, b, PSEM(分段结构方程模型, Piecewise Structural Equation Model)结果展示了传粉者生态位宽度(泛化程度)和植物稀有性(丰度)如何通过异源花粉 (HP) 传递 (a) 及同源花粉 (CP) 误放 (b) 影响适应度损失,并最终影响整体适应度收益。在模型选择过程中,确定了单个支持度最高的模型,或对排名靠前的模型进行平均,并展示了最优路径图模型(n = 64 种植物;Fisher’s C = 30.8,自由度 = 26,P = 0.236 (a);Fisher’s C = 32.0,自由度 = 26,P = 0.195 (b);数据来源见原始数据)。

正相关实线箭头)和负相关(虚线箭头)显著性用星号标注(双侧 bootstrap 检验,P ≤ 0.05)。箭头的宽度表示这些关系的效应量(标准化系数 r)。假设相关的因果路径的净效应通过标准化系数的乘积计算,表示预测变量每发生一个标准差的变化,将导致响应变量发生 r 个标准差单位的变化(关于非标准化净效应,详见补充说明)。橙色箭头表示数值保证,与图 1d 类似。

花部吸引特征(红色)、雌性器官特征(棕色)和雄性器官特征(紫色)均有标注,其中“Dim”表示因子分析得到的多变量维度(详见扩展数据图 4–6)。

三、案例分析

       大多推文都是让你输代码获得结果,然而piecewiseSEM最重要的应该是元模型的构建。以下以生态学数据为例。表中T:水温度;pH:水pH值;DOC:溶解性有机物浓度;FC:余氯浓度(消毒剂);ARG:抗性基因浓度;MGE:可移动单元浓度(抗性基因迁移);MD:微生物多样性指标。

       研究探究的是水质指标(T, pH, DOC, FC)对微生物群落(MD)进而对抗性基因(ARG,MGE的影响)。因此构建的元模型应该是:

      根据该元模型在R中构建初始模型:

#设置工作目录,输入数据和输出结果都在该目录下
setwd("E:/R/piecewiseSEM")
#可用getwd()查看目录是否正确

#加入piecewiseSEM包及配套包
library(piecewiseSEM)
#提示没有相关包使用install.packages("piecewiseSEM")

#读取数据
mydata<-read.csv("data.csv")

#建立模型
model <- psem(
  lm(MD~ T+FC+pH+DOC, mydata),
  lm(MGE~ MD, mydata ),
  lm(ARG~ MD, mydata )
)
#查看模型结果
summary(model, .progressBar = F)

         结果如下,p=0 显然模型是不合理的。其次提示缺少一些路径:

       因此我们考虑,水质指标直接对抗性基因(ARG,MGE)的影响,修改模型如下:

 代码如下:

model <- psem(
  lm(MD~ T+FC+pH+DOC, mydata),
  lm(MGE~ T+FC+pH+DOC +MD, mydata ),
  lm(ARG~ T+FC+pH+DOC +MD, mydata )
)
summary(model, .progressBar = F)

      结果提示模型不合理且缺少路径。

       删除不显著的路径并加上提示路径构建模型如下:

      

     代码如下:

model <- psem(
  lm(MD~ T+pH+DOC, mydata),
  lm(MGE~ T+pH+FC +DOC+MD, mydata ),
  lm(ARG~ T+FC+MD+MGE, mydata )
)
summary(model, .progressBar = F)

      #结果合理,最终结果

      #AIC值

     #模型拟合优度

     #路径系数及显著性

     #R2值

#绘图

plot(model,return = FALSE,alpha = 0.05,show = "std")

Tips:可通过AI或者PPT进行图片优化。

四、参考文献

Ghosh, S., Matthews, B. & Petchey, O.L. Temperature and biodiversity influence community stability differently in birds and fishes. Nat Ecol Evol 8, 1835–1846 (2024).

Wei, N., Kaczorowski, R.L., Arceo-Gómez, G. et al. Pollinators contribute to the maintenance of flowering plant diversity. Nature 597, 688–692 (2021).

Lefcheck, J.S. (2016), piecewiseSEM: Piecewise structural equation modelling in r for ecology, evolution, and systematics. Methods Ecol Evol, 7: 573-579.

五、相关信息

!!!本文内容由小编总结互联网和文献内容总结整理,如若侵权,联系立即删除!

 !!!有需要的小伙伴评论区获取今天的测试代码和实例数据。

 📌示例代码中提供了数据和代码,小编已经测试,可直接运行。

以上就是本节全部内容。

如果这篇文章对您有用,请帮忙一键三连(点赞、收藏、评论、分享),让该文章帮助到更多的小伙伴。

分段结构方程模型Piecewise SEM)是一种在R语言中进行分段回归分析和结构方程建模的方法。这种方法将数据集分为多个子样本,每个子样本之间的关系可能存在差异。该方法的主要目标是研究这些差异,并在不同子样本之间进行比较。 在R语言中,可以使用许多包来实现分段结构方程模型。其中,常用的包包括`lavaan`、`semTools`和`piecewiseSEM`等。 首先,需要准备数据并进行数据清洗。然后,使用`lavaan`或`semTools`包中的函数来拟合结构方程模型。在构建模型时,可以使用分段回归分析方法来识别子样本,并在每个子样本中拟合结构方程模型。可以使用拟合的模型进行参数估计、模型拟合指数、路径显著性检验等。 在进行分段结构方程模型时,一些需要注意的问题包括分段点的选择、子样本之间的差异分析以及模型比较等。分段点的选择可以通过领域知识、数据特征或统计方法等进行。在子样本之间的差异分析中,可以使用多组对比方法来比较不同子样本的参数估计值。此外,模型比较方法可以使用信息准则(如AIC、BIC)来选择最优模型。 总之,R语言提供了方便灵活的工具来进行分段结构方程模型分析。研究人员可以根据实际需求选取适当的包和方法来实现分段结构方程模型,并深入研究子样本之间的差异。这种方法可以为实证研究提供更准确、全面的结论,从而推动学科的发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值