This might work for you: > order(order(x, y)) [1] 1 3 6 7 2 4 5 8
Andy From: Duncan Murdoch > > Suppose I have two columns, x,y. I can use order(x,y) to > calculate a permutation that puts them into increasing order > of x, with ties broken by y. > > I'd like instead to calculate the rank of each pair under the > same ordering, but the rank() function doesn't take multiple > values as input. Is there a simple way to get what I want? > > E.g. > > > x <- c(1,2,3,4,1,2,3,4) > > y <- c(1,2,3,1,2,3,1,2) > > rank(x+y/10) > [1] 1 3 6 7 2 4 5 8 > > gives me the answer I want, but only because I know the range > of y and the size of gaps in the x values. What do I do in general? > > Duncan Murdoch > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > > ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html