[R] lm: eval(parse(text=)) works on one side y/x but not on both?
Matthieu Stigler
matthieu.stigler at gmail.com
Sun Nov 29 15:10:44 CET 2009
Gabor Grothendieck a écrit :
> Try this:
>
> ix <- 1:2
> lm(as.matrix(freeny[ix]) ~., freeny[-ix])
>
clean and clever!!! Thanks a lot!! You really simplified the code!!!
Just for curiosity, do you see why parse(eval)) was not working twice in
same formula?
thanks a lot!!
Matthieu
>
> On Sun, Nov 29, 2009 at 8:56 AM, Matthieu Stigler
> <matthieu.stigler at gmail.com <mailto:matthieu.stigler at gmail.com>> wrote:
>
> Thanks for answering so fast!!
>
>
> lm(freeny)
>
> :-)
> Ok that's working for the one equation case :-) Was example case...
>
> But now I want to have not only first column of freeny on the left
> but both first? And I don't know their names a priori...
>
> Thanks!
>
>
> On Sun, Nov 29, 2009 at 8:49 AM, Matthieu Stigler
> <matthieu.stigler at gmail.com
> <mailto:matthieu.stigler at gmail.com>
> <mailto:matthieu.stigler at gmail.com
> <mailto:matthieu.stigler at gmail.com>>> wrote:
>
> Hi
>
> My goal is to do a (multiple) regression, just knowing that
> my Y
> variables will be the say k first variables of a matrix/data
> frame. I thought I should do it with eval(parse)) but
> encounter a
> strange problem.
>
> See:
> lm(y~.-y, data=freeny) #that's what I want to do in the one
> equation case
> #Problem is I don't know name of the variable... only that
> it is
> the first one...
> #so idea is to just take first name
> a<-colnames(freeny)
> #and then use eval(parse(text=a[1]))
>
> #it works if I replace y on either the left or right side:
> lm(eval(parse(text=a[1]))~.-y, data=freeny) #does the same
> lm(y~.-eval(parse(text=a[1])), data=freeny)
>
> #but not if I do this call twice:
> lm(eval(parse(text=a[1]))~.-eval(parse(text=a[1])),
> data=freeny)
> #variable I wanted to remove (y) ist still there
>
> Do you understand why I can call eval(parse) only once?
> Should I
> try a update workaround? Or have idea of any other
> solution? Maybe
> there is something much simpler I'm missing:-(
>
> Thanks a lot!!!
>
> Matthieu Stigler
>
> ______________________________________________
> R-help at r-project.org <mailto:R-help at r-project.org>
> <mailto:R-help at r-project.org <mailto:R-help at 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.
>
>
>
>
More information about the R-help
mailing list