If your models only consists of a formula just use the formula as your specification where evaluation consists of passing the formula to lm with a data argument.
# specification fo <- rate ~ conc # evaluation lm(fo, Puromycin) On Tue, Nov 17, 2009 at 4:11 AM, Søren Højsgaard <soren.hojsga...@agrsci.dk> wrote: > For e.g. lm/glm type models I would like to separate model specification and > model fitting and then only fit the models later 'when data arrives'. To be > specific, I would like make a specification like > m1 <- lm(rate~conc) > m2 <- lm(rate~I(conc^2)) > > and then later I want to 'put data into' the objects and evaluate (fit the > model), e.g. something like > update(m1, data=Puromycin) > update(m2, data=Puromycin) > > The 'closest' I can get to what I want is > 1) Specification: > m.list <-expression(lm(rate~conc), lm(rate~I(conc^2))) > 2) Update with data: > m.list2 <- lapply(m.list, function(m) {m$data=Puromycin; return(m)}) > 3) Now, evaluate: > lapply(m.list2, eval) > Can anyone point me to a simpler approach? > Regards > Søren ______________________________________________ R-help@r-project.org 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.