很多朋友写信问我, 像要知道固定因子的显著性和随机因子的显著性如何计算,他们使用的是 1. 载入数据和软件包###载入软件包和数据 library(lme4) library(lmerTest) library(sjstats) library(learnasreml) data(fm) 2. 软件包介绍lme4
lmerTest
install.packages("lmerTest") sjstats
install.packages("lmerTest") 3. 使用lme4进行混合线性分析模型介绍
建模 固定因子: Spacing+Rep, 随机因子: Fam fm1 <- lmer(h1 ~Spacing + Rep + (1|Fam), fm) 固定因子检验 anova(fm1) # 固定因子显著性检验
随机因子显著性检验 ranova(fm1) # 随机因子显著性检验,LRT 可以看到Fam达到极显著 计算R2 r2(fm1) # 计算R2 R-Squared for Generalized Linear Mixed Model
[34mFamily : gaussian (identity) Formula: h1 ~ Spacing + Rep + (1 | Fam)
[39m Marginal R2: 0.116 Conditional R2: 0.277 计算固定因子每个水平的P值 p_value(fm1) # 计算每个水平的显著性
提取方差组分 re_var(fm1) # 计算方差组分 _sigma_2 50.7633345854535
Fam_tau.00 11.3168413429073 4. 使用asreml进行对照建模 library(asreml) fm2 = asreml(h1 ~ Spacing + Rep, random = ~ Fam, data=fm,trace=F) 固定因子检验 随机因子显著性检验 这里首先构建一个空模型, 然后使用LRT检验 fm_Null = asreml(h1 ~ Spacing + Rep, data=fm,trace=F) lrt.asreml(fm2,fm_Null) # 随机因子显著性检验LRT summary(fm2)$varcomp[,1:2] # 方差组分
还有一个包叫 library(MuMIn) r.squaredLR(fm1)#计算R2
0.217233511687581 6. 完整代码分享# 混合线性模型, 如何检测固定因子和随机因子
###载入数据 library(lme4) library(lmerTest) library(sjstats) library(learnasreml) data(fm) str(fm)
### 固定因子: Spacing+Rep, 随机因子: Fam fm1 <- lmer(h1 ~Spacing + Rep + (1|Fam), fm) summary(fm1)
anova(fm1) # 固定因子显著性检验 ranova(fm1) # 随机因子显著性检验,LRT
r2(fm1) # 计算R2
p_value(fm1) # 计算每个水平的显著性
re_var(fm1) # 计算方差组分
### 对比asreml fm2 = asreml(h1 ~ Spacing + Rep, random = ~ Fam, data=fm) anova(fm2) # 固定因子显著性检验, 这里anova 是anova.asreml fm_Null = asreml(h1 ~ Spacing + Rep, data=fm) lrt.asreml(fm2,fm_Null) # 随机因子显著性检验LRT summary(fm2)$varcomp[,1:2] # 方差组分
library(MuMIn) r.squaredLR(fm1)#计算R2 |
|