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.