【发布时间】:2019-08-19 14:31:10
【问题描述】:
我正在尝试使用高斯位置尺度模型系列在 mgcv 中使用分层通用加法模型。但是,这一系列函数在尝试拟合时会引发一个神秘的错误。
遵循最近一篇论文 (https://peerj.com/articles/6876/) 中关于 HGAM 的指导以及 lmvar 包文章 (https://cran.r-project.org/web/packages/lmvar/vignettes/Intro.html) 中注释的指导。
library(mgcv); library(datasets)
# Using the CO2 dataset for illustration
data <- datasets::CO2
# Changing the 'Plant' factor from ordered to unordered
data$Plant <- factor(data$Plant, ordered = FALSE)
# This model fits with no errors
CO2_modG_1 <- gam(log(uptake) ~ s(log(conc), k = 5, bs = 'tp') + s(Plant, k = 12, bs = 're'), data = data, method = 'REML', family = 'gaussian')
# This model fails with error
CO2_modG_2 <- gam(log(uptake) ~ s(log(conc), k = 5, bs = 'tp') + s(Plant, k = 12, bs = 're'), data = data, method = 'REML', family = gaulss())
这会返回错误信息:
Error in while (sqrt(mean(dlb/(dlb + lami * dS * rm)) * mean(dlb)/mean(dlb + :
missing value where TRUE/FALSE needed
【问题讨论】: