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

From: Heinz Tuechler <>
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.

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]),
>> 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
> University of Washington, Seattle
> mailing list PLEASE do read the posting guide 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 Please read the posting guide before posting to the list.