一、引言
结构方程模型(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.
五、相关信息
!!!本文内容由小编总结互联网和文献内容总结整理,如若侵权,联系立即删除!
!!!有需要的小伙伴评论区获取今天的测试代码和实例数据。
📌示例代码中提供了数据和代码,小编已经测试,可直接运行。
以上就是本节全部内容。
如果这篇文章对您有用,请帮忙一键三连(点赞、收藏、评论、分享),让该文章帮助到更多的小伙伴。