[R] ols function in rms package
Mark Seeto
mark.seeto at nal.gov.au
Mon Jun 7 05:49:24 CEST 2010
Hello,
I have a couple of questions about the ols function in Frank Harrell's rms
package.
Is there any way to specify variables by their column number in the data
frame rather than by the variable name?
For example,
library(rms)
x1 <- rnorm(100, 0, 1)
x2 <- rnorm(100, 0, 1)
x3 <- rnorm(100, 0, 1)
y <- x2 + x3 + rnorm(100, 0, 5)
d <- data.frame(x1, x2, x3, y)
rm(x1, x2, x3, y)
lm(y ~ d[,2] + d[,3], data = d) # This works
ols(y ~ d[,2] + d[,3], data = d) # Gives error
Error in if (!length(fname) || !any(fname == zname)) { :
missing value where TRUE/FALSE needed
However, this works:
ols(y ~ x2 + d[,3], data = d)
The reason I want to do this is to program variable selection for
bootstrap model validation.
A related question: does ols allow "y ~ ." notation?
lm(y ~ ., data = d[, 2:4]) # This works
ols(y ~ ., data = d[, 2:4]) # Gives error
Error in terms.formula(formula) : '.' in formula and no 'data' argument
Thanks for any help you can give.
Regards,
Mark
--
Mark Seeto
Statistician
National Acoustic Laboratories <http://www.nal.gov.au/>
A Division of Australian Hearing
126 Greville Street
Chatswood NSW 2067 Australia
P +61 2 9412 6800
F +61 2 9411 8273
More information about the R-help
mailing list