[R] Suggestion on how to make permanent changes to a single object in a list?
Peter Waltman
waltman at cs.nyu.edu
Thu Jan 3 22:35:57 CET 2008
specifically, imagine we have:
fooStack <- list()
for ( i in 1:5 )
fooStack[[i]] <- list()
and we have a function:
fooModifier <- function( foo ) {
foo$bar <- "bar"
}
then, if we invoke fooModifier, i.e.:
fooModifier( fooStack[[ 1 ]] )
the $bar elt is only set in the scope of the function, and if we use the
"<<-" modifier in fooModifier, R will throw an error b/c it can't find the
"foo" object. I have to say that for someone coming from languages that
have pointers and/or references, it's really frustrating that R fails to
allow one to have direct access to the objects' memory space.
Onyway, one workaround would be to pass in the whole fooStack object and the
index of the elt that you want to modify to the fooModifier fn, but I'd
rather not have to pass the whole thing in.
Any suggestions?
Thanks!
Peter Waltman
More information about the R-help
mailing list