我想知道如何拟合多元线性混合模型lme4
.我使用以下代码拟合单变量线性混合模型:
library(lme4)
lmer.m1 <- lmer(Y1~A*B+(1|Block)+(1|Block:A), data=Data)
summary(lmer.m1)
anova(lmer.m1)
lmer.m2 <- lmer(Y2~A*B+(1|Block)+(1|Block:A), data=Data)
summary(lmer.m2)
anova(lmer.m2)
Run Code Online (Sandbox Code Playgroud)
我想知道如何拟合多元线性混合模型lme4
.数据如下:
Block A B Y1 Y2
1 1 1 135.8 121.6
1 1 2 149.4 142.5
1 1 3 155.4 145.0
1 2 1 105.9 106.6
1 2 2 112.9 119.2
1 2 3 121.6 126.7
2 1 1 121.9 133.5
2 1 2 136.5 146.1
2 1 3 145.8 154.0
2 2 1 102.1 116.0
2 2 2 112.0 121.3
2 2 3 114.6 137.3
3 1 1 133.4 132.4
3 1 2 139.1 141.8
3 1 3 157.3 156.1
3 2 1 101.2 89.0
3 2 2 109.8 104.6
3 2 3 111.0 107.7
4 1 1 124.9 133.4
4 1 2 140.3 147.7
4 1 3 147.1 157.7
4 2 1 110.5 99.1
4 2 2 117.7 100.9
4 2 3 129.5 116.2
Run Code Online (Sandbox Code Playgroud)
提前感谢您的时间和合作.
Joh*_*lby 12
通过简单地重新格式化数据,有时可以在nlme/lme4中令人满意地伪造
require(reshape)
Data = melt(data, id.vars=1:3, variable_name='Y')
Data$Y = factor(gsub('Y(.+)', '\\1', Data$Y))
Run Code Online (Sandbox Code Playgroud)
> Data
Block A B Y value
1 1 1 1 1 135.8
2 1 1 2 1 149.4
3 1 1 3 1 155.4
4 1 2 1 1 105.9
5 1 2 2 1 112.9
6 1 2 3 1 121.6
...
Run Code Online (Sandbox Code Playgroud)
然后Y
在线性混合模型中包含新变量.
但是,对于真正的多元广义线性混合模型(MGLMM),您可能需要sabreR
包或类似物.这个包附带了一本完整的书,使用R的多元广义线性混合模型.如果您有订阅机构的代理,您甚至可以从http://www.crcnetbase.com/isbn/9781439813270免费下载.我会在那里向你推荐任何进一步的建议,因为这是一个多肉的主题,我非常新手.