在本文中,我们将用R语言对数据进行线性混合效应模型的拟合,然后可视化你的结果。
线性混合效应模型是在有随机效应时使用的,随机效应发生在对随机抽样的单位进行多次测量时。来自同一自然组的测量结果本身并不是独立的随机样本。因此,这些单位或群体被假定为从一个群体的 "人口 "中随机抽取的。示例情况包括
混合效应的线性模型在R命令lme4和lmerTest包中实现。另一个选择是使用nmle包中的lme方法。lme4中用于计算近似自由度的方法比nmle包中的方法更准确一些,特别是在样本量不大的时候。
这第一个数据集是从Griffith和Sheldon(2001年,《动物行为学》61:987-993)的一篇论文中提取的,他们在两年内对瑞典哥特兰岛上的30只雄性领头鶲的白色额斑进行了测量。该斑块在吸引配偶方面很重要,但其大小每年都有变化。我们在这里的目标是估计斑块长度(毫米)。
读取并检查数据。
head(fly)
# 点阵图
chart(patch ~ bird)
# 但显示成对数据的更好方法是用成对的交互图来显示
plot(res=patch, x = year)
# 优化版本
plot(y = patch, x = factor(year), theme_classic)
拟合一个线性混合效应模型。summary()的输出将显示两个随机变异的来源:单个鸟类之间的变异(鸟类截距),以及对同一鸟类进行的重复测量之间的变异(残差)。每个来源都有一个估计的方差和标准差。固定效应只是所有鸟类的平均值--另一个 "截距"。
# 1.混合效应模型
# 2. 参数估计
summary(z)
# 5. 方差分量
VarCorr(z)
# 可重复性
1.11504^2/(1.11504^2 + 0.59833^2)
## \[1\] 0.7764342
# 7.残差与拟合值的关系图
plot(z)
Cronly-Dillon和Muntz(1965; J. Exp. Biol 42: 481-493)用视运动反应来测量金鱼的色觉。在这里,我们将对数据进行拟合,包括测试的全部波长。5条鱼中的每一条都以随机的顺序在所有的波长下被测试。敏感度的值大表明鱼可以检测到低的光强度。视运动反应的一个重要特点是,鱼不习惯,在一个波长下的视觉敏感度的测量不太可能对后来在另一个波长下的测量产生影响。
*这是一个 "按实验对象 "的重复测量设计,因为每条鱼在每个实验下被测量一次。它本质上与随机完全区块设计相同(把每条鱼看作是 "区块")。
*可视化是首选,因为数据和拟合值都被绘制出来。请注意鱼与鱼之间的预测值是多么的相似。这表明在这项研究中,个体鱼之间的估计差异非常小。
*一般来说,在方差分析表中只测试固定效应。使用测试随机效应中没有方差的无效假设是可能的。
读取并检查数据。
x <- read.csv("fish.csv",
stringsAsFactors = FALSE)
head(x)
拟合一个线性混合效应模型。
该模型假设所有拟合值的残差为正态分布,方差相等。该方法还假设个体鱼之间的随机截距为正态分布。该方法还假设组(鱼)的随机抽样,对同一鱼的测量之间没有影响。
# # 1. 拟合混合效应模型。
## boundary (singular) fit: see ?isSingular
# 2. 这就为每条鱼分别绘制了拟合值。
vis(z)
# 3.测试假设
plot(z)
# 4. 提取参数估计值
summary(z)
# 6. 基于模型的平均敏感度估计
means(z)
# 7. ANOVA方差分析
项目实验性地调查了国家公园的北方森林生态系统中施肥和食草的影响(Krebs, C.J., Boutin, S. & Boonstra, R., eds (2001a) Ecosystem dynamics of the Boreal Forest.Kluane项目. 牛津大学出版社,纽约)) ,目前的数据来自于一项关于植物资源和食草动物对底层植物物种防御性化学的影响的研究。
16个5x5米的小区中的每一个都被随机分配到四个实验之一。1)用栅栏围起来排除食草动物;2)用N-P-K肥料施肥;3)用栅栏和施肥;4)未实验的对照。然后,16块地中的每一块被分成两块。每块地的一侧(随机选择)在20年的研究中持续接受实验。每块地的另一半在头十年接受实验,之后让它恢复到未实验的状态。这里要分析的数据记录了欧蓍草(Achillea millefolium)中酚类物质的浓度(对植物防御化合物的粗略测量),欧蓍草是地块中常见的草本植物。测量单位是每克干重毫克丹宁酸当量。
*实验采用了分块设计,即整个块被随机分配到不同的实验,然后将第二种实验(持续时间)的不同水平分配到块的一半。
*应该没有差别,因为设计是完全平衡的。
阅读并检查数据。
一个好的策略是对实验类别进行排序,把对照组放在前面。这将使线性模型的输出更加有用。
# 1. 读取数据
# 2. 检查
head(x)
# 3. 分组带状图
# 首先,重新排列实验类别
factor(treat,levels=c("cont","exc","fer","bo"))
plot(data = x, y = log(phe), x = trea)
# 4. 在多个面板上分别绘制成对的数据
plot(data = x,y = log(ach, x = dur, fill = dur, col = dur)
拟合一个线性混合效应模型。固定效应是 "实验 "和 "持续时间",而 "块"是随机效应。拟合交互作用时,实验水平之间的差异大小在持续时间水平之间会有所不同。
由于随机效应也存在(块),系数表将显示两个随机变化来源的方差估计。一个是拟合模型的残差的方差。第二个是(随机)块截距之间的方差。
# 2. 拟合混合效应模型-无交互作用
# 3. 可视化
vis(z)
# 4. 包括交互项和再次视觉化
vis(z.int, overlay = TRUE)
# 5. 绘制图表以检验方差齐性(以及正态性)
plot(z)
# 6. 系数
summary(z)
# 8. 模型拟合平均值
means(z, data = x)
# 9. 方差分析表
anova(z) # lmerTest中默认为3类平方和。
# 10. 改为1类
anova(z, type = 1)
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有