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

使用mvabund包manyglm函数指定Gamma(log链接)时遇错误求助

使用mvabund包manyglm函数时Gamma分布报错问题

问题描述

我尝试用mvabund包的manyglm函数,检验三个实验因子对多变量响应数据集的影响:响应变量是同一实验单元测得的5个正连续数值变量,解释变量为因子。

运行代码

data1 <- read.csv("example_data1.csv") %>%
  column_to_rownames(var = "obs") %>%
  as.matrix()
data2 <- read.csv("example_data2.csv")

set.seed(210)
mod1 <- manyglm(data1 ~ factor1 * factor2 * factor3,
                family = Gamma(link = "log"),
                data = data2
)

报错内容

Error in if (any(z$var.est == 0)) { :
missing value where TRUE/FALSE needed

相关细节

  • 所有单变量glm模型(针对单个响应变量)运行正常,示例代码:
    model <- glm(variable1 ~ factor1 * factor2 * factor3, family = Gamma(link = "log"), data = data)
    
  • 怀疑该问题与mvabund已知的参数估计问题相关
  • 负二项、泊松分布可正常运行,但不符合我的数据特征;尝试过tweedie分布,但CRAN文档显示mvabund不支持该分布
  • 单独测试各因子后,发现factor2可能是引发报错的根源

内容的提问来源于stack exchange,提问作者NJ Oram

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 04:54:58