[R] access elements of a named list using a factor
Dimitris Rizopoulos
d.rizopoulos at erasmusmc.nl
Fri Oct 23 15:42:59 CEST 2009
do you mean:
f <- factor(c("pigs", "pigs", "slugs"))
jj <- list(pigs = 1:10, slugs = 1:3)
jj[levels(f)[1]]
jj[[levels(f)[1]]]
Best,
Dimitris
Robin Hankin wrote:
> Hi
>
> I have a factor 'f' and a named list 'jj'.
>
> I want names(jj) to match up with levels(f).
>
> How do I use levels(f) to access elements of jj?
>
>
> > f <- factor(c("pigs","pigs","slugs"))
> > f
> [1] pigs pigs slugs
> Levels: pigs slugs
> >
> > jj <- list(pigs=1:10,slugs=1:3)
>
>
>
> My attempts to produce jj$pigs all give errors:
>
> > jj$levels(f)[1]
> Error: attempt to apply non-function
>
> > do.call("$",jj,levels(f)[1])
> Error in if (quote) { : argument is not interpretable as logical
>
> > "$"(jj,levels(f)[1])
> Error in jj$levels(f)[1] : invalid subscript type 'language'
>
>
>
>
>
>
--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center
Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014
More information about the R-help
mailing list