[R] how to 'get' an object that is part of a list

Gabor Grothendieck ggrothendieck at gmail.com
Sun Dec 24 13:41:24 CET 2006


Is this what you are looking for:

> my.length.2 <- function(...) {
+    f <- function(nm, val) length(val)
+    mapply(f, make.names(as.list(match.call()[-1])), list(...))
+ }
> my.length.2(xx, xx$b)
  xx xx.b
   2    5

On 12/24/06, jim holtman <jholtman at gmail.com> wrote:
> use 'eval' and 'parse'
>
>
> > xx
> $a
> [1] 1 2 3 4 5
>
> $b
> [1] "a" "b" "c" "d" "e"
>
> > eval(parse(text='xx$a'))
> [1] 1 2 3 4 5
> >
>
> So that way you can pass in the character string and then 'parse' it.
>
>
>
> On 12/24/06, Christos Hatzis <christos at nuverabio.com> wrote:
> >
> > This might be an trivial thing but I am stuck.
> >
> > Consider:
> >
> > xx <- list(a=1:5, b=letters[1:5])
> >
> > Although object xx is accessible through its name,
> > how can object xx$b be accessed similarly through its name?
> >
> > > get("xx")
> > $a
> > [1] 1 2 3 4 5
> >
> > $b
> > [1] "a" "b" "c" "d" "e"
> >
> > > get("xx$b")
> > Error in get(x, envir, mode, inherits) : variable "xx$b" was not found
> >
> > get("xx")$b will not work in my case because it will probably require
> > parsing to make it work within a function. E.g.
> >
> > my.length <- function(...) {
> >        names <- as.character(substitute(list(...)))[-1]
> >        sapply(names, FUN=function(x){y <- get(x); length(y)})
> > }
> > > my.length(xx)
> > xx
> > 2
> > > my.length(xx$a)
> > Error in get(x, envir, mode, inherits) : variable "xx$a" was not found
> > > my.length(xx$a, xx$b)
> > Error in get(x, envir, mode, inherits) : variable "xx$a" was not found
> >
> > Thank you.
> >
> > Christos Hatzis, Ph.D.
> > Nuvera Biosciences, Inc.
> > 400 West Cummings Park
> > Suite 5350
> > Woburn, MA 01801
> > Tel: 781-938-3830
> > www.nuverabio.com
> >
> > ______________________________________________
> > R-help at 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.
> >
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem you are trying to solve?
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list