lme4 中的多元线性混合模型
我想知道如何使用 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)
我想知道如何使用 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
预先感谢您的时间与合作。
I wonder how to fit multivariate linear mixed model with lme4
. I fitted univariate linear mixed models with the following code:
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)
I'd like to know how to fit multivariate linear mixed model with lme4
. The data is below:
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
Thank in advance for your time and cooperation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有时可以在 nlme/lme4 中通过简单地重新格式化数据
,然后在线性混合模型中包含新变量
Y
来令人满意地伪造这一点。但是,对于真正的多元广义线性混合模型 (MGLMM),您可能需要 sabreR 包或类似包。该软件包还附带一整本书,使用 R 的多元广义线性混合模型。如果您有订阅机构的代理,您甚至可以从 http://www.crcnetbase.com 免费下载/isbn/9781439813270。我会向您推荐任何进一步的建议,因为这是一个内容丰富的话题,而且我是一个新手。
This can sometimes be faked satisfactorily in nlme/lme4 by simply reformatting your data like
and then including the new variable
Y
in your linear mixed model.However, for true Multivariate Generalized Linear Mixed Models (MGLMM), you will probably need the
sabreR
package or similar. There is also an entire book to accompany the package, Multivariate Generalized Linear Mixed Models Using R. If you have a proxy to a subscribing institution, you might even be able to download it for free from http://www.crcnetbase.com/isbn/9781439813270. I would refer you there for any further advice, as this is a meaty topic and I am very much a novice.lmer 及其兄长 lme 本质上是“~ 左边的一个参数”。看看汽车包装;它不提供现成的重复测量支持,但您可以通过搜索 R 列表找到有关该主题的一些评论:
约翰·福克斯在汽车套餐
lmer and its elder sibling lme are inherently "one parameter left of ~". Have a look at the car packages; it offers no off-the shelf repeated measurement support, but you will find a few comments on the subject by searching the R list:
John Fox on car package
@John 上面的答案应该基本上是正确的。您向模型添加一个虚拟变量(即因子变量
Y
)。这里有 3 个下标i= 1...N
用于观察,j=1,...,4
用于块,以及h=1,2
为依赖变量。但您还需要将 1 级误差项强制为 0(或接近于零),我不确定 lme4 是否会这样做。本·博尔克可能会提供更多信息。 Goldstein (2011) 第 6 章和第 7 章针对潜在多元模型对此进行了更多描述。即
Y_hij = \beta_{01} z_{1ij} + \beta_{02} z_{2ij} + \beta X + u_{1j} z_{1ij} + u_{2j} z_{2ij}
所以:
@John's answer above should be largely right. You add a dummy variable (ie--the factor variable
Y
) to the model. Here you have 3 subscriptsi= 1...N
for observations,j=1,...,4
for blocks, andh=1,2
for the dependent var. But you also need to force the level 1 error term to 0 (or to near zero), which I'm not surelme4
does. Ben Bolker might provide more information. This is described more in Goldstein (2011) Chap 6 and Chap 7 for latent multivariate models.IE
Y_hij = \beta_{01} z_{1ij} + \beta_{02} z_{2ij} + \beta X + u_{1j} z_{1ij} + u_{2j} z_{2ij}
So: