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.