使用这个虚拟数据集:
dummy.data <- data.frame(vaccinated = factor(rep(c("yes", "no"), each = 64)),
infected = factor(rep(c("yes", "no"), each = 32)),
animal = factor(rep(1:16, each = 8)),
tissue = factor(c("blood", "liver", "kidney", "brain")),
value = runif(128)
)
这有效:
library("nlme")
nlme.model <- as.formula(value ~ vaccinated * infected * tissue)
nlme.fit <- lme(fixed = nlme.model, random = ~1|animal, data = dummy.data)
library("phia")
int.nlme <- interactionMeans(nlme.fit)
plot(int.nlme)
但这不会:
library("lme4")
lmer.model <- as.formula(value ~ vaccinated * infected * tissue + (1 | animal))
lmer.fit <- lmer(formula = lmer.model, data = dummy.data)
library("phia")
int.lmer <- interactionMeans(lmer.fit)
plot(int.lmer)
对于后者,我只得到
Error in t.default(M) : argument is not a matrix
从plot
命令。
当我查看int.nlme
和int.lmer
with 时str
,它们看起来确实不同,但我无法弄清楚问题所在。非常感谢任何输入。