[R] Formula syntax question
Frank E Harrell Jr
f.harrell at vanderbilt.edu
Tue Jul 3 16:49:46 CEST 2007
Isaac Kohane wrote:
> Forgive me if this is obvious:
> I have a frame of data with the variables in each column (e.g.
> Discrete_Variable1, ContinuousVariable_1, ContinuousVariable_2, ...
> and I want to create a model using lrm i.e.
> model <- lrm(Discrete_Variable1 ~ ContinuousVariable_1,
> Is there a syntax for having all the continuous variables referenced
> in the formula without having to enumerate them all?
> I've seen the ~ . notation but when I try
> model <- lrm(Discrete_Variable1 ~ ., data=lotsofdata)
> I get this error:
> Error in terms.formula(formula, specials = "strat") :
> '.' in formula and no 'data' argument
> Any help is appreciated.
It may be best to write a function to determine what is continuous (>=
10 unique values for example, and numeric) and to run sapply on that
function, over your data frame. Then you could use lrm(y ~ .,
data=mydata[continuous]) if it were not for a problem with lrm which
Charles Thomas Dupont (the Design package maintainer) and I will work
on. Until then you can write a command to compose a formula, e.g.,
form <- as.formula(paste('y', paste(names(mydata)[continuous],
Frank E Harrell Jr Professor and Chair School of Medicine
Department of Biostatistics Vanderbilt University
More information about the R-help