使用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
相关产品推荐
相关产品推荐

