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, ... > ContinuousVariable_n) > > and I want to create a model using lrm i.e. > model <- lrm(Discrete_Variable1 ~ ContinuousVariable_1, > data=lotsofdata) > > 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. > > -Zak
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], collapse='+'), sep='~')) lrm(form, data=mydata) -- Frank E Harrell Jr Professor and Chair School of Medicine Department of Biostatistics Vanderbilt University ______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.