0

在使用包预测 GAM 模型时mgcv,使用micv平滑函数(来自scam包)为协变量之一构建,我收到以下错误:

Error in predict.gam(mod_gam, newdata = dfGAMDev) : 
  number of items to replace is not a multiple of replacement length

代码:

 library(dplyr)
 library(ggplot2)
 library(car)
 library(mgcv)
 library(scam)

mod_gam <- gam(Y ~  X1 +  X2+   X3+  s(X4, bs='micv') +  X5,  data = dfGAMDev )
predDevGAM <- predict(mod_gam, newdata =dfGAMDev)

我也尝试了以下方法:

predDevGAM <- predict.gam(mod_gam, newdata =dfGAMDev)

所有变量都是数字

4

1 回答 1

0

我一直在尝试构建一个形状受限的 GAM 模型,它具有不受约束的 GAM 模型函数,gam而不是scam函数。以下代码有效:

 mod_gam <- scam(Y ~  X1 +  X2+   X3+  s(X4, bs='micv') +  X5,  data = dfGAMDev)

Apologies for raising the issue. I misunderstood, that the smooth functions in the scam package can be used in gam function

于 2015-12-17T10:49:50.310 回答