Re: [R] get() in sapply() in with()

From: Heinz Tuechler <tuechler_at_gmx.at>
Date: Fri 04 Aug 2006 - 01:08:45 EST

Thank you, Thomas!
It helps a lot to know that something is impossible and that I have to look for a different kind of solution.
Heinz

At 07:33 03.08.2006 -0700, Thomas Lumley wrote:
>On Thu, 3 Aug 2006, Heinz Tuechler wrote:
>
>> Dear All,
>>
>> applying some function within a with() function I wanted to use also
>> sapply() and get() to form a data.frame, but did not succede.
>> Below is a simplified example.
>> It is possible to use sapply() within a with() function, it is also
>> possible to use get() within a with() function, but when I try to use get
>> within sapply within with I arrive at "Error in get(x, envir, mode,
>> inherits) : variable "v5" was not found".
>> Is there a solution?
>
>This isn't what you want to hear, but the solution is probably to not use
>get(). How to not use get() will depend on what your problem really is.
>
>>
>> ## example
>> df1 <- data.frame(v5=16:20, v6=21:25, v7=I(letters[16:20]),
v8=letters[16:20])
>>
>> with(df1, sapply(c('v5', 'v6'), get) ) ## Error, see next line
>> ## Error in get(x, envir, mode, inherits) : variable "v5" was not found
>
>get() looks in the environment it was called from, which is the
>environment inside lapply(), whose parent is the environment of
>the base package. There is no "v5" there.
>
>> with(df1, sapply(list(v5, v6), mean) ) # does work
>
>This works because list(v5,v6) is evaluated in df1.
>
>> with(df1, get('v5') ) # does work
>
>This works because get() looks in the environment it was called from,
>which is df1.
>
>
> -thomas
>
>Thomas Lumley Assoc. Professor, Biostatistics
>tlumley@u.washington.edu University of Washington, Seattle
>
>



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. Received on Fri Aug 04 01:34:10 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Fri 04 Aug 2006 - 02:20:21 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.