RE: [R] creating a formula on-the-fly inside a function

From: Bist, Sandip <SBist_at_lordabbett.com>
Date: Fri 04 Mar 2005 - 02:43:48 EST

as.formula(paste(response.dat" ~ ", paste(pred.dat, collapse= "+")))

pred.dat is a list of predictors

Sandip

-----Original Message-----
From: Dr Carbon [mailto:drcarbon@gmail.com] Sent: Thursday, March 03, 2005 10:28 AM
To: r-help@r-project.org
Subject: [R] creating a formula on-the-fly inside a function

I have a function that, among other things, runs a linear model and returns r2. But, the number of predictor variables passed to the function changes from 1 to 3. How can I change the formula inside the function depending on the number of variables passed in?

An example:

get.model.fit <- function(response.dat, pred1.dat, pred2.dat = NULL, pred3.dat = NULL)
{

    res <- lm(response.dat ~ pred1.dat + pred2.dat + pred3.dat)     summary(res)$r.squared
    # other stuff happens here...
}

y <- rnorm(10)

x1 <- y + runif(10)
x2 <- y + runif(10)
x3 <- y + runif(10)
get.model.fit(y, x1, x2, x3)

get.model.fit(y, x1, x2)
get.model.fit(y, x1)

Many thanks....
DrC

> version

         _
platform i386-pc-mingw32

arch     i386           
os       mingw32        
system   i386, mingw32  
status                  
major    2              
minor    0.1            
year     2004           
month    11             
day      15             

language R

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html

        [[alternative HTML version deleted]]



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Mar 04 09:32:58 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:30:40 EST