Извлеките значения, используемые для построения графика для параметрического компонента GAM в R

#r #plot #gam #mgcv

Вопрос:

Я выполнил GAM, который включает в себя как непрерывные гладкие термины, так и категориальную переменную. Я построил модель ( mod ), используя plot(mod,residuals=T,all.terms=T,pages=1) . Это создает графики двух плавных параметров, а также параметрического параметра. Я хочу извлечь значения, используемые для создания этих графиков, чтобы я мог их переделать и сделать их более привлекательными. Если я сохраню график в объекте, это даст мне все необходимое для плавных условий, но не содержит никакой информации о параметрическом компоненте: plot.mod=plot(mod,residuals=T,all.terms=T,select=0) . Но я не вижу, откуда берутся цифры для построения параметрического компонента по умолчанию. Есть ли способ извлечь их также?

Вот воспроизводимый пример того, что я сделал до сих пор

 library(mgcv)

# create some data
data=data.frame(response=c(10,12,8,9,3,4,5,5,4,5,4,5,4,1),pred1=c(9,8,8,9,6,7,6,4,3,4,2,3,3,1),pred2=as.factor(c("A","C","B","B","A","A","C","B","C","A","C","B","A","B")),pred3=c(1,6,3,4,8,6,4,5,7,10,11,3,12,1))

# run the GAM
mod <- gam(response ~ s(pred1,k=8)   pred2   s(pred3,k=5), data=data, family=gaussian(), method="REML")

# the default plot
plot(mod,residuals=T,all.terms=T,pages=1)

# save values in an object. But this only saves the smooth terms.
plot.mod=plot(mod,residuals=T,all.terms=T,select=0)

# How can I extract the values used to plot the parametric term?
 

Сюжет, который я пытаюсь извлечь из данных, чтобы сделать:
введите описание изображения здесь

Ответ №1:

Из plot.gam документации, termplot используется для параметрических терминов, поэтому

 plot.para <- termplot(mod, se = TRUE, plot = FALSE)
 

сохраняет этот сюжет в списке.
Формат отличается от других, но данные есть.

Комментарии:

1. Отлично, это именно то, что я искал. Спасибо!