[R] Counting number of rows with two criteria in dataframe

David Winsemius dwinsemius at comcast.net
Wed Jan 26 03:49:59 CET 2011


On Jan 25, 2011, at 2:25 PM, Ryan Utz wrote:

> Hi R-users,
>
> I'm trying to find an elegant way to count the number of rows in a  
> dataframe
> with a unique combination of 2 values in the dataframe. My data is
> specifically one column with a year, one with a month, and one with  
> a day.
> I'm trying to count the number of days in each year/month  
> combination. But
> for simplicity's sake, the following dataset will do:
>
> x<-c(1,1,1,1,2,2,2,2,3,3,3,3)
> y<-c(1,1,2,2,3,3,4,4,5,5,6,6)
> z<-c(1,2,3,4,5,6,7,8,9,10,11,12)
> X<-data.frame(x y z)
>
> So with dataset X, how would I count the number of z values (3rd  
> column in
> X) with unique combinations of the first two columns (x and y)? (for
> instance, in the above example, there are 2 instances per unique  
> combination
> of the first two columns). I can do this in Matlab and it's easy,  
> but since
> I'm new to R this is royally stumping me.

 > tapply(X$z, list(X$x, X$y), function(xx) length(unique(xx)) )
    1  2  3  4  5  6
1  2  2 NA NA NA NA
2 NA NA  2  2 NA NA
3 NA NA NA NA  2  2

>
> Thanks,
> Ryan
>
> -- 
> Ryan Utz
> Postdoctoral research scholar
> University of California, Santa Barbara
> (724) 272 7769
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list