Hi, Just getting into using GAM using the mgcv package. I've generated some models and extracted the splines for each of the variables and started visualizing them. I'm noticing that one of my variables is physically unrealistic.
In the example below, my interpretation of the following plot is that the y-axis is basically the equivalent of a "parameter" value of a GLM; in GAM this value can change as the functional relationship changes between x and y. In my case, I am predicting snowdepth based on the fractional snow covered area. In no case will snowdepth realistically decrease for a unit increase in fsca so my question is: *Is there a way to constrain the spline to positive values? * Thanks Dominik library(mgcv) library(dplyr) library(ggplot2) extract_splines=function(mdl){ sterms=predict(mdl,type='terms') datplot=cbind(sterms,mdl$model) %>% tbl_df datplot$intercept=attr(sterms,'constant') datplot$yhat=rowSums(sterms)+attr(sterms,'constant') return(datplot) } dat=data_frame(snowdepth=runif(100,min = 0.001,max=6.7),fsca=runif(100,0.01,.99)) mdl=gam(snowdepth~s(fsca),data=dat) termdF=extract_splines(mdl) ggplot(termdF)+ geom_line(aes(x=fsca,y=`s(fsca)`)) [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.