as.formula(paste(response.dat" ~ ", paste(pred.dat, collapse= "+")))
pred.dat is a list of predictors
Sandip
-----Original Message-----
From: Dr Carbon [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 03, 2005 10:28 AM
To: [EMAIL PROTECTED]
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