On Jul 1, 2010, at 9:30 PM, Suresh Singh wrote:
I have not been able to find a way to do dense rank in R
Here is an example of what I need
rank() gives the following
5 rank 1
7 rank 2
7 rank 2
9 *rank 4*
but I want
5 rank 1
7 rank 2
7 rank 2
9 *rank 3
> tst <- read.table(textConnection("5 rank 1
+ 7 rank 2
+ 7 rank 2
+ 9 rank 4"), header=FALSE)
> tst
V1 V2 V3
1 5 rank 1
2 7 rank 2
3 7 rank 2
4 9 rank 4
# Probably not the most elegant solution.
> tst$drank <- rep(1:length(rle(tst$V3)$values), rle(tst$V3)$lengths)
> tst
V1 V2 V3 drank
1 5 rank 1 1
2 7 rank 2 2
3 7 rank 2 2
4 9 rank 4 3
--
David.
______________________________________________
[email protected] 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.