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

______________________________________________
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.

Reply via email to