[R] Delete observations with a frequency < x
Phil Spector
spector at stat.berkeley.edu
Fri Dec 10 01:37:24 CET 2010
Suppose this is your data frame:
> df = data.frame(x=c(1,1,1,2,2,2),y=c('a','b','c','a','b','d'))
> df
x y
1 1 a
2 1 b
3 1 c
4 2 a
5 2 b
6 2 d
> df[!table(df$y)[df$y] < 2,]
x y
1 1 a
2 1 b
4 2 a
5 2 b
Note that this will only work properly if y is a factor or character
variable. If y was numeric, you would need
df[!table(df$y)[as.character(df$y)]
- Phil Spector
Statistical Computing Facility
Department of Statistics
UC Berkeley
spector at stat.berkeley.edu
On Thu, 9 Dec 2010, mathijsdevaan wrote:
>
> Hi,
>
> I have two columns with data (both identifiers - it's an affiliation list)
> and I would like to delete the rows in which the observations in the second
> column have a frequency < 5 in the entire second column. Example:
>
> 1 a
> 1 b
> 1 c
> 2 a
> 2 b
> 2 d
>
> Let's say, I would like to delete the rows in which the observation in the
> second column has a frequency < 2 in the entire second column. This would
> result in:
>
> 1 a
> 1 b
> 2 a
> 2 b
>
> How can I do this? Thanks in advance!
>
> Mathijs
> --
> View this message in context: http://r.789695.n4.nabble.com/Delete-observations-with-a-frequency-x-tp3081226p3081226.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list