On Fri, 2010-03-19 at 20:37 -0700, Steven McKinney wrote: > Hi Noah > > GAM models were developed to assess the functional form > of the relationship of continuous predictor variables to the > response, so weren't really meant to handle factor variables > as predictor variables. GAMs are of the form > E(Y | X1, X2, ...) = So + S(X1) + S(X2) + ... > where S(X) is a smooth function of X.
But there is absolutely nothing wrong with including factors in mgcv::gam - they get expanded into the usually dummy variables depending on the current contrasts as part of the model set-up routines just like they do in lm(). Perhaps semiparametric might be a better description of such a model but at least one implementation of GAMs in R can certainly handle factors. I haven't used gam::gam so can't comment on that and the OP doesn't say which gam he is using. HTH G > Hence you might want to rethink why you'd want a > factor variable as a predictor variable in a GAM. > This is why the gam machinery doesn't just do the > factor conversion to indicator variables as is done in > lm. > > HTH > > Steven McKinney > > ________________________________________ > From: r-help-boun...@r-project.org [r-help-boun...@r-project.org] On Behalf > Of Noah Silverman [n...@smartmediacorp.com] > Sent: March 19, 2010 12:54 PM > To: r-help@r-project.org > Subject: [R] Factor variables with GAM models > > I'm just starting to learn about GAM models. > > When using the lm function in R, any factors I have in my data set are > automatically converted into a series of binomial variables. > > For example, if I have a data.frame with a column named color and values > "red", "green", "blue". The lm function automatically replaces it with > 3 variables colorred, colorgreen, colorblue which are binomial {0,1} > > When I use the gam function, R doesn't do this so I get an error. > > 1) Is there a way to ask the gam function to do this conversion for me? > 2) If not, is there some other tool or utility to make this data > transformation easy? > 3) Last option - can I use lm to transform the data and then extract it > into a new data.frame to then pass to gam? > > Thanks!!! > > ______________________________________________ > R-help@r-project.org mailing list > 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. > > ______________________________________________ > R-help@r-project.org mailing list > 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. -- %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% Dr. Gavin Simpson [t] +44 (0)20 7679 0522 ECRC, UCL Geography, [f] +44 (0)20 7679 0565 Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/ UK. WC1E 6BT. [w] http://www.freshwaters.org.uk %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% ______________________________________________ R-help@r-project.org mailing list 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.