2015-08-14 1 views
2

Прошу прощения за такой простой вопрос, но пока не удалось найти ответ, но просматривая сайт. Я пытаюсь построить серию моделей GAM данных захвата беспозвоночных в R. Один из предикторов всегда является сглаженным термином для числа в день года (DOY). Это должно всегда занимать пространство оси x. У-ось должна быть либо линейным, либо сглаженным прогнозом переменных погоды. С помощью функции vis.gam() я могу создать график контура поверхности с градиентом цвета, представляющим предсказанные значения отклика для любой пары x-y. Когда второй предсказателем является нелинейной, например:Перемещение осей для 2-предикторного GAM в r

totbest=gam(Totallog10pl1~s(DOY)+s(SRVarDetrendDerived),data=poolREplotGAM) 

, то эта цифра выглядит, как он должен (извинения за то, что не в состоянии размещать изображения, но здесь является построение команды):

vis.gam(totbest, type="response",plot.type="contour",n.grid=50) 

Но когда предсказателем является линейным:

totbest1=gam(Totallog10pl1~s(DOY)+SRVarDetrendDerived,data=poolREplotGAM) 

оси переключения:

vis.gam(totbest1, type="response",plot.type="contour",n.grid=50) 

Если у вас есть способ вернуть переменную, привязанную по времени, к оси x, это было бы очень оценено. Заранее благодарю за любую помощь.

Майк

ответ

0

Это, казалось бы, из-за того, в котором возвратили var.summary элемент объекта GAM. Попробуйте totbest$var.summary vs totbest1$var.summary.

А «исправить» было бы сделать это:

totbest1$var.summary <- totbest1$var.summary[2:1] 
vis.gam(totbest1, type="response",plot.type="contour",n.grid=50) 

Оговорка: Я не читал достаточно об объекте GAM, чтобы понять, является ли обратный порядок var.summary является дизайн.

надеюсь, что это поможет! Богатые.

+0

Это сработало, спасибо вам большое! Я действительно ценю твою помощь. – user3277394

+0

Ненавижу, что я возвращаюсь назад, но я представил морщинку в мою модель, которая, насколько я вижу, сделала переориентацию моих фигур невозможными. Я настраивал его и не могу понять. Я включил фактор/гладкое взаимодействие, как в: totbest = gam (Totallog10pl1 ~ s (SRVarDetrendDerived) + s (DOY, by = Plot), na.action = na.omit, data = poolFACTORplotGAM). Переупорядочение гладкостей в коде помещает SRVar и DOY на оси вместо DOY и Plot, но теперь он всегда устанавливает DOY на ось Y. @RichAtMango, или кто-либо еще, возможно, у вас есть предложение? Еще раз спасибо за любую помощь! – user3277394