Это продолжение после previous question Я попросил некоторое время назад, на что недавно был дан ответ.Использование модели «gbm», созданной в R-пакете «dismo» с функциями в пакете R «gbm»
Я построил несколько моделей gbm
с dismo::gbm.step
, которая опирается на gbm
подгоночных функций, найденных в R пакете gbm
, а также кросс-инструменты проверки из R пакета splines
.
В качестве части моего анализа я хотел бы использовать некоторые из графических инструментов, доступных в R (например, перспективные графики) для визуализации попарных взаимодействий в данных. Оба пакета gbm
и dismo
имеют функции для обнаружения и моделирования взаимодействий в данных.
Реализация в dismo
объясняется в Elith et. al (2008) и возвращает статистику, которая указывает отклонения модельных предсказаний от линейной комбинации предикторов, одновременно удерживая все остальные предиктора по их средствам.
Реализация в gbm
использует статистику Friedman`s H (Friedman & Popescue, 2005) и возвращает другую метрику, а также НЕ устанавливает другие переменные по их усмотрению.
Взаимодействие, смоделированное и нанесенное с использованием dismo::gbm.interactions
, отличное и очень информативное. Тем не менее, я также хотел бы использовать gbm::interact.gbm
, отчасти за силу публикации, а также сравнить результаты двух методов.
Если я пытаюсь запустить gbm::interact.gbm
в gbm.object
, созданный с dismo
, возвращается ошибка ...
"Error in is.factor(data[, x$var.names[j]]) :
argument "data" is missing, with no default"
Я понимаю dismo::gmb.step
добавляет дополнительные данные авторы считали бы полезным для gbm model
.
Я также понимаю, что ответ на мой вопрос лежит где-то в исходном коде.
Мои вопросы ...
Можно ли изменить
gbm
объект, созданный вdismo
, который будет использоваться вgbm::gbm.interact
? Если да, то это будет достигнуто ...a. Изменение объекта
gbm
, созданного вdismo::gbm.step
?b. Изменение исходного кода для
gbm::interact.gbm
?c. Делать что-то еще?
Я буду проходить через исходный код, пытаясь решить это сам, если я придумаю решение, прежде чем кто-либо ответит, я отвечу на свой вопрос.
Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). - [Из обзора] (/ review/low-quality-posts/11376657) – Prune
Недостаточно репутации для комментариев. Я уверен, что он будет работать, если данные будут указаны при вызове функции. – at888