R语言微生物研究数据可视化

结构方程模型(SEM)可用于微生态研究及R语言实现

2019-09-28  本文已影响0人  胡童远

导读

一、结构方程模型在微生态研究中的应用

1. 文章一

2. 文章二

3. 文章三

4. 文章四

二、R语言结构方程建模

1. 工具准备

1)R软件:https://www.r-project.org/
2)R包:lavaan ## 结构方程建模
3)R包:semPlot ## 结果可视化
4)数据:使用lavaan包内的“PoliticalDemocracy”数据集

R 3.6.1安装加载后显示如下,推测R 3.6.3更适合该包:

2. 建模方法

1)设定模型

模型设定.png
model <- '
# 利用被测变量(右)定义潜在变量(左):测量模型
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
# 构建回归方程:路径模型
dem60 ~ ind60 
dem65 ~ ind60 + dem60 
# 两边相同,表示该变量的方差,不同的话表示两者的协方差
y1 ~~ y5 
y2 ~~ y4 + y6 
y3 ~~ y7 
y4 ~~ y8 
y6 ~~ y8'

2)拟合模型

library(lavaan)
## 加载SEM建模需要的R包:lavaan

fit <- sem(model, data = PoliticalDemocracy) 
## 使用SEM函数拟合模型

summary(fit)
summary(fit, fit.measures=TRUE)
summary(fit, standardized = TRUE)
## 查看拟合结果

3)计算拟合系数

fitMeasures(fit,c("chisq","df","pvalue","gfi","cfi","rmr","srmr","rmsea"))
指标名称 名称缩写 指标作用 接受标准
卡方值 CHISQ 矩阵整体相似程度 P>0.05
拟合指数 GFI 说明模型解释力 >0.90
相对拟合指数 CFI 说明模型较虚无模型的改善程度 >0.95
未标准化残差 RMR 未标准化假设模型整体残差 越小越好
标准化残差 SRMR 标准化模型整体残差 <0.08
近似均方根误差 RMSEA 理论模型与饱和模型的差异 <0.05

4)可视化

library(semPlot)
## 加载SEM绘图包

pdf("plot.pdf")
p = semPaths(fit)
dev.off()
## 使用semPaths函数绘图
pdf("plot2.pdf")
p2 = semPaths(fit, what = "std", layout = "tree2", fade=F, nCharNodes = 0)
dev.off()
pdf("plot3.pdf")
p3 = semPaths(fit, what = "std", layout = "tree2", fade=F, nCharNodes = 0, intercepts = F, residuals = F, thresholds = F)
dev.off()

结束语

参考

  1. http://lavaan.ugent.be/
  2. https://zhuanlan.zhihu.com/p/22811566

同步发布于微信公众号:微生态

\color{green}{😀😀原创文章,码字不易,转载请注明出处😀😀}

上一篇下一篇

猜你喜欢

热点阅读