Re: [R] help with the unique function

From: Marc Schwartz <marc_schwartz_at_comcast.net>
Date: Wed, 07 May 2008 11:45:12 -0500

ravi wrote:
> Hi,
> The unique function is easy to understand and use. Beyond that, I want to get also the frequency of repetition of each individual row in a data frame
> Let me explain with an example :
> x<-data.frame(a=c(1,2,3,1,2),b=c(2,3,4,2,3),c=c(10,20,30,10,20))
> xu<-unique(x)
> We have,

>> x

> a b c
> 1 1 2 10
> 2 2 3 20
> 3 3 4 30
> 4 1 2 10
> 5 2 3 20
>> xu

> a b c
> 1 1 2 10
> 2 2 3 20
> 3 3 4 30
>
> I want to get the following data frame :
> a b c Freq
> 1 1 2 10 2
> 2 2 3 20 2
> 3 3 4 30 1
> That is, in addition to the unique rows, I want to get the frequency of repetion of each individual row.
> I will appreciate all the help that I can get.
> Thank You,
> Ravi

As usual in R, there are several options:

 > table(apply(x, 1, paste, collapse = ","))

1,2,10 2,3,20 3,4,30

      2 2 1

or:

 > table(interaction(x, sep = ",", drop = TRUE))

1,2,10 2,3,20 3,4,30

      2 2 1

So:

 > cbind(unique(x),

         Freq = as.vector(table(apply(x, 1, paste, collapse = ","))))    a b c Freq
1 1 2 10 2
2 2 3 20 2
3 3 4 30 1

or:

 > cbind(unique(x),

         Freq = as.vector(table(interaction(x, sep = ",", drop = TRUE))))    a b c Freq
1 1 2 10 2
2 2 3 20 2
3 3 4 30 1

HTH, Marc Schwartz



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. Received on Wed 07 May 2008 - 18:00:20 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 07 May 2008 - 18:30:37 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive