基本上,@greg-snow提供了一个正确的解决方案。我稍微详细说明一下。
在中,您可以使用
plot(mod, which = "Day")
仅绘制Day
效应的图表。由于我们使用正则表达式,您甚至可以使用参数which
做更多的事情。在一个具有线性和平滑效应的模型中,例如您可以提取所有平滑效应以进行绘图:
airquality$Month <- as.factor(airquality$Month)
mod <- mod <- gamboost(Ozone ~ bbs(Solar.R) + bbs(Wind) + bbs(Temp) + bols(Month) + bbs(Day), data=airquality[complete.cases(airquality),])
par(mfrow = c(2,2))
plot(mod, which = "bbs")
par(mfrow = c(1,1))
plot(mod, which = "bols")
您可以使用名称的任何部分(例如,请参见names(coef(mod))
)来定义要绘制的效果。 您还可以使用整数值来定义要绘制的which
效果:
plot(mod, which = 1:2)
请注意,这也可以用于提取特定系数。例如:
coef(mod, which = 1)
coef(mod, which = "Solar")
coef(mod, which = "bbs(Solar.R)")
所有内容都是相同的,关于如何在 coef
和 plot
中指定 which
,请参阅我们的教程论文(Hofner等人,2014年,基于模型的 Boosting 在 R 中 - 使用 R 包 mboost 的 Hands-on 教程。计算统计学,29:3-35. DOI 10.1007/s00180-012-0382-5)。
我们承认目前这在 mboost
中尚未记录,但它已经在我们的待办事项列表中(请参见github issue 14)。