You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

marginaleffects包结合nlme模型调用comparisons函数报错的问题求助

marginaleffects包结合nlme模型调用comparisons函数报错的问题求助

我这个问题刚从crossvalidated迁移过来,因为它确实更偏向编程问题。

我试了各种方法(给newdata参数传数据的所有方式),下面列出了一些尝试。总结下来就是:用lme4的时候所有操作都正常,但换成nlme之后只有第一个comparisons调用能成功,其他都会报错。

我的需求是必须用nlme而不是lme4,因为我需要处理异方差问题。但不管怎么尝试,marginaleffects包的comparisons函数一直报同一个错:

Error: Unable to compute predicted values with this model. You can try to supply a different dataset to the newdata argument.

下面是能复现问题的玩具数据和代码,只有第一个comparisons命令能运行,其他都会弹出上面的错误信息:

library(tidyverse)
library(nlme)
library(marginaleffects)

# 生成玩具数据
base <- expand.grid(time = 0:5,
                    Treat = LETTERS[1:3], stringsAsFactors = FALSE)
base <- base%>%bind_rows(base, base)%>%group_by(time, Treat)%>%
  mutate(repl = row_number(),
         replicate = sprintf("%s-%s", Treat, repl))%>%ungroup()

re <- data.frame(replicate = unique(base$replicate),
                 re = rnorm(9))

datasim  <- base%>%left_join(re)%>%
  mutate(out = re + rnorm(54, sd = 1 + time))%>%
  mutate(ctime = as.character(time))

# 拟合nlme模型
fit <- nlme::lme(out ~ ctime*Treat,
                 random = ~ 1| replicate,
                 weights = varIdent(form = ~ 1 | ctime),
                 data = datasim)

# 以下只有第一个调用正常,其余均报错
comparisons(fit)

comparisons(fit,
            variables = "Treat")

comparisons(fit,
            variables = list(Treat = "pairwise"))

comparisons(fit,
            variables = list(Treat = "reference"),
)

comparisons(fit,
            variables = list(Treat = "pairwise"),
            newdata = datagrid(ctime = "5"))

comparisons(fit,
            variables = list(Treat = "pairwise"),
            newdata = datagrid(ctime = "5", model = fit))

comparisons(fit,
            variables = list(Treat = "pairwise"),
            newdata = datagrid(ctime = "5", replicate = "A-1"))

如果把上面的lme调用换成lmer(lme4包的函数),所有comparisons调用都能正常运行。

备注:内容来源于stack exchange,提问作者Dries

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 08:09:53