[R] update.lm question

Karsten Weinert k.weinert at gmx.net
Sun Nov 15 15:23:11 CET 2009


Hello,
at the Rgui command line I can easily remove a term from a fitted lm
object, like

fit <- lm(y~x1+x2+x3, data=myData)
update(fit, .~.-x1)

However, I would like to do this in a function with term given as string, like

removeTerm <- function(linModel, termName) { ??? }
removeTerm(fit, "x1")

but I can not fill the ???. I already tried

removeTerm <- function(linModel, termName) { update(linModel, .~. - termName },
removeTerm <- function(linModel, termName) { update(linModel, .~. -
as.name(termName) },
removeTerm <- function(linModel, termName) { update(linModel, .~. -
eval(termName) },
removeTerm <- function(linModel, termName) { update(linModel, .~. -
eval.parent(termName) },
removeTerm <- function(linModel, termName) { update(linModel, .~. -
get(termName) },

but these attempts produce error messages.

Can you advise me here?

Kind regards,
Karsten




More information about the R-help mailing list