[R] glm with multiple vars

Sascha Vieweg saschaview at gmail.com
Sat Apr 9 15:15:20 CEST 2011


On 11-04-09 10:34, dirknbr wrote:

> I am looping through various models with different combinations of
> independent variables which are stored as columns in x
>
> glm(y ~ ??, data=x)
>
> How can I pass the colnames of the selected columns of x into ?? seperating
> them with a +
>
> ie I want to generate
>
> glm(y ~ x1 + x2, data=x)
> glm(y ~ x2 + x3, data=x)
> glm(y ~ x1 + x2  + x4, data=x)
> ...
>
> I have tried the sedit function (sedit(colnames(current),' ',' + ')) but glm
> doesn't understand the output.

Hi, you could try to generate the formula as a character string 
and then coerce it into a formula object, since glm expects a 
formula object:

vars <- names(x)
f <- as.formula(paste(vars[1], "~", paste(vars[-1], collapse="+"), 
collapse=""))
glm(f, data=x)

Of course, the pastes in the f-line need to be adjusted in each 
loop.

HTH, *S*

-- 
Sascha Vieweg, saschaview at gmail.com



More information about the R-help mailing list