Adrian Dusa wrote:
Adrian Dusa 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 the Hmisc pa
Adrian Dusa 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
__
R-help@r-project.o
Yuan Jian 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
__
R-help@r-project.or
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,
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]]
__
5 matches
Mail list logo