Vadim Ogranovich wrote: > > Hi, > > I ran into a problem of converting a text representation of an expression > into parsed expression to be further evaluated inside lm (). > >> n <- 100 >> data <- data.frame(x= rnorm (n), y= rnorm (n)) >> data. lm <- lm (y ~ x, data=data) >> >> ## this works >> update(data. lm , subset=x<0) > > Call: > lm (formula = y ~ x, data = data, subset = x < 0) > > Coefficients: > (Intercept) x > -0.07864094193322170023 -0.14596982635007796358 > >> >> ## this doesn't work >> ## text representation of subset >> subset <- "x<0" >> update(data. lm , subset=parse(text=subset)) > Error in `[.data.frame`(list(y = c(-0.601925958140825, -0.111931189071517, > : > invalid subscript type > > What is the correct way to convert "x<0" into a valid subset argument? >
update(data.lm,subset=eval(parse(text=subset))) -- View this message in context: http://www.nabble.com/convert-text-to-exprission-good-for-lm-arguments-tf3686309.html#a10304608 Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.