Не удалось найти функцию plot.gam - PullRequest
0 голосов
/ 03 июля 2018

Я прохожу «Введение в статистическое обучение с приложениями в R» (ISLR), и я застрял на части на странице 295, в лаборатории обобщенных аддитивных моделей. Когда я запускаю следующий код, я получаю ошибку Error in plot.gam(gam1, se = TRUE, col = "red") : could not find function "plot.gam".

library(ISLR)
gam1 = lm(wage ~ ns(year, 4) + ns(age, 5) + education, data=Wage)
par(mfrow=c(1,3))
plot.gam(gam1, se=TRUE, col="red")

В книге говорится, что plot.gam должна быть частью общей plot функции, так почему же R не может ее найти? Я должен делать что-то по-другому? Я безуспешно пытался повторно загрузить библиотеку графиков с помощью install.packages('plot', repos='http://cran.us.r-project.org').

Это смущает меня, потому что в книге сказано:

Общая функция plot () распознает, что gam2 является объектом класса gam, andinvokesthendantplot.gam () метод. Удобно, даже если plot.gam () gam1 не принадлежит к классу gam, а скорее к классу lm, мы можем все еще используй plot.gam () на нем. Рисунок 7.11 был создан с использованием следующее выражение:

plot.gam (gam1, se = TRUE, col = "red")

1 Ответ

0 голосов
/ 03 июля 2018

Используйте plot.Gam, а не plot.gam.

Обновления программного обеспечения, но книга не идет в ногу. Проверяя журнал изменений для пакета gam , мы видим, что случай был изменен в начале 2018 года:

2018-02-06 Trevor Hastie версия 1.15 * Значительное изменение класса "gam" на "Gam", чтобы избежать конфликта с mgcv (grr!)

...