我的研究是一项为期12周的研究,涉及两种饮食(饮食(。以时间(时间(= 0,6和12周为间隔进行结果测量,例如体重,腰围等。(代码(代表主题。
我尝试使用以下代码来创建一个名为 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]))
然后拟合模型。