[R] using lm() with variable formula

From: Chris Elsaesser <chris.elsaesser_at_spadac.com>
Date: Thu, 17 May 2007 11:01:41 -0400


New to R; please excuse me if this is a dumb question. I tried to RTFM; didn't help.

I want to do a series of regressions over the columns in a data.frame, systematically varying the response variable and the the terms; and not necessarily including all the non-response columns. In my case, the columns are time series. I don't know if that makes a difference; it does mean I have to call lag() to offset non-response terms. I can not assume a specific number of columns in the data.frame; might be 3, might be 20.

My central problem is that the formula given to lm() is different each time. For example, say a data.frame had columns with the following headings: height, weight, BP (blood pressure), and Cals (calorie intake per time frame). In that case, I'd need something like the following:

	lm(height ~ weight + BP + Cals)
	lm(height ~ weight + BP)
	lm(height ~ weight + Cals)
	lm(height ~ BP + Cals)
	lm(weight ~ height + BP)
	lm(weight ~ height + Cals)
	etc.

In general, I'll have to read the header to get the argument labels.

Do I have to write several functions, each taking a different number of arguments? I'd like to construct a string or list representing the varialbes in the formula and apply lm(), so to say [I'm mainly a Lisp programmer where that part would be very simple. Anyone have a Lisp API for R? :-}]

Thanks,
chris

Chris Elsaesser, PhD
Principal Scientist, Machine Learning
SPADAC Inc.
7921 Jones Branch Dr. Suite 600
McLean, VA 22102

703.371.7301 (m)
703.637.9421 (o)



R-help_at_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 and provide commented, minimal, self-contained, reproducible code. Received on Thu 17 May 2007 - 15:26:12 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 21 May 2007 - 12:31:13 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.