Hi, R experts-

I am trying to create a function that returns a quintile (or decile) ranking
of a variable controlled by a factor. For example, suppose there are 10
people each in class A (1st graders) and class B (2nd graders). If you want
to calculate quintile rank for each class, how would you do that?

Right now, I create the following function and use it with "by" function.
This way works ok except that it's getting slow when the data.frame is
really really large. 

rank.group = function (x, ng) {
        y = quantile(x, seq(0,1,length.out=ng+1), na.rm=T)
        z = cut( x, y, include.lowest = T); z = as.numeric(z)
        return(z) }

Hope there's a faster way to rank the variable as in SAS.
Thanks for your help.



-- 
View this message in context: 
http://www.nabble.com/Relative-ranking-by-a-factor-tf3270737.html#a9093712
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
[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.

Reply via email to