[R] lapply not reading arguments from the correct environment
jo.irisson at gmail.com
Fri May 18 16:41:46 CEST 2007
I am facing a problem with lapply which I ''''think''' may be a bug.
This is the most basic function in which I can reproduce it:
myfun <- function()
foo = data.frame(1:10,10:1)
foos = list(foo)
cFoo = lapply(foos,subset,select=fooCollumn)
I am building a list of dataframes, in each of which I want to keep
only column 2 (obviously I would not do it this way in real life but
that's just to demonstrate the bug).
If I execute the commands inline it works but if I clean my
environment, then define the function and then execute:
I get this error:
Error in eval(expr, envir, enclos) : object "fooCollumn" not found
while fooCollumn is defined, in the function, right before lapply. In
addition, if I define it outside the function and then execute the
it works but uses the value defined in the general environment and
not the one defined in the function.
This is with R 2.5.0 on both OS X and Linux (Fedora Core 6)
What did I do wrong? Is this indeed a bug? An intended behavior?
Thanks in advance.
More information about the R-help