On 13-02-10 4:06 PM, David Romano wrote:
Hi everyone,
I ran into the issue below while trying to execute a command of the form
apply(list.names,1, function(x) F(favorite.list$x) )
where list.names is a character vector containing the names of the elements
of favorite.list and F is some function defined on a list element.
Namely, the $ operator doesn't treat the string variable 'x' as the string
it represents, so that, e.g.
ll <- list(ss="abc")
ll$ss
[1] "abc"
ll$"ss"
[1] "abc"
but
name <- "ss"
ll$name
NULL
I can get around this by using integers and the [[ and [ operators, but I'd
like to be able to use names directly, too -- how would I go about doing
this?
Thanks for your help in clarifying what might be going on here.
You can use names with [[, e.g.
ll[[name]]
will work in your example. You can see more details in the help topic
help("$"), in the section "Recursive (list-like) objects".
Duncan Murdoch
______________________________________________
R-help@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.