data<- read_excel(“F:/整理数据/三江源数据/汪悦监测表整理/agbzong/banma0β1.xlsx”)
data1<- read_excel(“F:/整理数据/三江源数据/汪悦监测表整理/agbzong/banma稳定性.xlsx”)
data2 <- merge(data1,data,by.x = “总样本”, by.y = “总样本”, all = TRUE)
write_xlsx(b,“F:/整理数据/三江源数据/汪悦监测表整理/agbbanma/mergebanma0β1_banma稳定性0.xlsx”)
library(lavaan)
library(semPlot)
library(readxl)
data3 <-data2[,-(2:3)]
data3 <-data3[,-(5:12)]
data3 <-data3[,-(6:50)]
data3 <-data3[,-(6:26)]
data3 <-data3[,-3]
data3 <-data3[,-(6:23)]
data3 <-data3[,-(7:24)]
data3 <-data3[,-(8:25)]
data3 <-data3[,-(9:26)]
data3 <-data3[,-(10:27)]
data3 <-data3[,-(11:28)]
data3 <-data3[,-35]
data3 <-data3[,-(12:18)]
data3 <-data3[,-(13:22)]
data3 <-data3[,-(14:15)]
data3 <-data3[,-2]
write_xlsx(data3,“F:/整理数据/三江源数据/汪悦监测表整理/agbzong/mergebanma0β1_banma稳定性1.xlsx”)
data3 <- read_excel(“F:/整理数据/三江源数据/汪悦监测表整理/agbzong/mergebanma0β1_banma稳定性3.xlsx”)
data3=as.data.frame(lapply(data3,as.numeric))
#数据如果需要进行标准化处理:scale(x,center = T, scale = T)
sem <- scale(data3,center = T, scale = T)
head(sem)
#构建结构方程
model <- "
总重量平均=~lg年份+工程类别
#regiession路径模型
总重量时间稳定性指数~总重量平均+β_Shannon+异步性
β_Shannon~α_Shannon
"
#拟合模型
fit = sem(model,data=sem,std.lv=T)
#查看拟合结果,标准化路径系数,显示R平方
summary(fit,standardized = TRUE,rsquare = T)
standardizedSolution(fit)
#计算拟合系数
卡方值(chisq)表示:矩阵整体相似程度;接受标准:P >0.05
拟合指数(GFI)表示:说明模型解释力;接受标准:>0.90
相对拟合指数(CFI)表示:说明模型较虚无模型的改善程度;接受标准:> 0.95
未标准化残差(RMR)表示:未标准化假设模型整体残差;接受标准:越小越好
标准化残差(SRMR)表示:标准化模型整体残差;接受标准:<0.08
近似均方根误差(RMSEA)表示:理论模型与饱和模型的差异;接受标准:<0.05
fitMeasures(fit,c(“chisq”,“df”,“pvalue”,“gfi”,“cfi”,“rmr”,“srmr”,“rmsea”))
#作图
semPaths(fit,
what=“std”,
layout=“tree”,
face=F,
residuals=F)