Re: [R] remove levels from a factor

2008-08-30 Thread Adrian Dusa
Yuan Jian jayuan2008 at yahoo.com writes: [...snip...] I want to remove level b because level b has less than 2. f [1] a a Levels: a f[which(f %in% names(table(f))[table(f) = 2]), drop=TRUE] [1] a a Levels: a HTH, Adrian __

Re: [R] remove levels from a factor

2008-08-30 Thread Frank E Harrell Jr
Adrian Dusa wrote: Adrian Dusa dusa.adrian at gmail.com writes: [...snip...] f[which(f %in% names(table(f))[table(f) = 2]), drop=TRUE] [1] a a Levels: a Or, more simple: f[f %in% names(table(f))[table(f) = 2], drop=TRUE] [1] a a Levels: a Adrian Also see the combine.levels function in

[R] remove levels from a factor

2008-08-29 Thread Yuan Jian
Hi,   how to remove levels that have less than a specific number such as 2. i.e..   f-as.factor(c(a,b,a)) f [1] a b a Levels: a b I want to remove level b because level b has less than 2. f [1] a a Levels: a   [[alternative HTML version deleted]]

Re: [R] remove levels from a factor

2008-08-29 Thread milton ruser
Hi Yuan, It is not ellegant, but may work for you.. f-as.factor(c(a,b,a)) f.freq-data.frame(table(f)) f.freq lower.freq-2 f.freq.subset-subset(f.freq,f.freq$Freq=lower.freq) f.freq.subset f.selected-f[f %in% f.freq.subset$f] f.selected-factor(f.selected) f.selected Best wishes, miltinho