At 05:49 PM 4/2/2003 +0100, Richard Nixon wrote:
Any ideas how to do this?
data.frame is a data frame with column names "x1",...,"xn" y is a response variable of length dim(data.frame)[1]
I want to write a function
function(y, data.frame){ lm(y~x1+...+xn) }
This would be easy if n was always the same.
If n is arbitrary how could I feed the x1+...+xn terms into lm(response~terms)?
If y contains the *name* of the response variable, which is also in the data frame, then the following should work:
fun <- function(y, df){
lm(as.formula(paste(y, "~.")), data=df)
}Alternatively, if y is a vector and is not in the data frame, then you might try
fun <- function(y, df){
df <- data.frame(y, df)
lm(y~., data=df)
}I hope that this helps, John ____________________________ John Fox Department of Sociology McMaster University email: [EMAIL PROTECTED] web: http://www.socsci.mcmaster.ca/jfox
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
