问题描述
我正在尝试拟合混合效应模型,其中我具有嵌套的协变量(VarX5 | VarX6),被认为是固定效应。
但是,我正在尝试调整数据,并出现以下消息:
library(nlme)
library(lme4)
dados$VarCat=as.factor(dados$VarCat)
dados$VarX5=as.factor(dados$VarX5)
dados$VarX6=as.factor(dados$VarX6)
model <- lme(log(Resp)~log(VarX1)+log(VarX2)+(VarX3)+(VarX4)+VarX5|VarX6,random = ~1|VarCat,dados,method="REML")
Error in if (any(notIntX <- !apply(X,2,const))) { :
valor ausente onde TRUE/FALSE necessário
解决方法
您没有正确指定分类变量。在nlme:lme
中,它们进入了random
选项(错误是试图将因子直接传递到公式中)。在lme4: lmer
中,它们括在公式内的括号中。
dados <- read.csv2("https://docs.google.com/uc?id=1hKfYpcgAV4gdDPHXv_4EQpiO0Y31_ZVo&export=download")
model <- nlme::lme(
log(Resp) ~ log(VarX1) + log(VarX2) + VarX3 + VarX4,random = ~ VarCat | VarX5:VarX6,data = dados)
model <- lme4::lmer(
log(Resp) ~ log(VarX1) + log(VarX2) + VarX3 + VarX4 + (VarCat | VarX5:VarX6),data = dados)
我不知道您想要什么模型,所以也许:
运算符不是最合适的。在formula
帮助页面中查看lmer
参数的详细信息。