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? 

Thanks, 
Vadim 

        [[alternative HTML version deleted]]

______________________________________________
[email protected] 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.

Reply via email to