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
__
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
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]]
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
4 matches
Mail list logo