如何在时间 = 0 时将结果的基线值添加为混合效应模型中的固定效应?

How to add baseline values of outcome at time = 0 as a fixed effect in mixed effect model?

我的研究是一项为期 12 周的研究,涉及两种饮食(饮食)。在时间 (time) = 0,6, 和 12 周的时间间隔进行体重、腰围等结果测量。 (Code)代表科目。

我尝试了以下代码来创建一个名为 weight0 的新变量,以仅在时间 = 0 时选择结果值。

weight0 <- dat2$weight[dat2$time==0] 

我创建了以下模型。

p1 <- lme4::lmer(weight ~ diet * time + weight0 + weight0 * time + (time | code), REML = FALSE, data = dat2)

Error in model.frame.default(data = dat2, drop.unused.levels = TRUE, formula = weight ~  : 
variable lengths differ (found for 'weight0')

我想我明白发生了什么。权重 0 的值与结果权重的值的长度不同。这个对吗?我该如何纠正这一点并将基线用作固定效应?

感谢您抽出宝贵时间阅读本文。

您可以执行以下操作来定义 weight0

dat2 <- dat2[order(dat2$code, dat2$time), ]
dat2$weight0 <- with(dat2, ave(weight, code, FUN = function (x) x[1]))

然后拟合模型。