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@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.

Reply via email to