Re: [R] ordering a data.frame by average rank of multiple columns

2007-08-10 Thread Gabor Grothendieck
Try this:

positions <- order(ranks)

On 8/10/07, Tom.O <[EMAIL PROTECTED]> wrote:
>
> Hi
>
> I have run into a problem and i wonder if anyone has a smart way of doing
> this.
>
> For example i have this data frame for 5 different test groups:
>
> Res1 <- c(1,5,4,-0.5,3)
> Res2 <- c(-1,8,2,0,3)
> Mean <- c(0.5,1,1.5,-.5,2)
> MyFrame <- data.frame(Res1,Res2,Mean,row.names=c("G1","G2","G3","G4","G5"))
>
> where the first two columns are the results of two different tests, the
> third column is the mean of the group.
>
> I want to order this data.frame by the combined rank of Res1 & Res2, but
> where weigths are assigned to the importeance av each column. Lets assume
> that Res1 is twice as important and lower values rank better.
>
> MyRanks<-data.frame(Rank1=rank(MyFrame[,"Res1"]),Rank2=rank(MyFrame[,"Res2"]),CombR=2*rank(MyFrame[,"Res1"])+rank(MyFrame[,"Res2"]),row.names=c("G1","G2","G3","G4","G5"))
>
>Rank1 Rank2 CombR
> G1 2 1 5
> G2 5 515
> G3 4 311
> G4 1 2 4
> G5 3 410
>
>
> and the rank of the combined is 2,5,4,1,3 , but to be able to sort MyFrame
> in that order I need to enter this vector of positions c(4,1,5,3,2) but do
> anyone have a smart way of converting ranks to positions?
>
> Tom
>
>
> --
> View this message in context: 
> http://www.nabble.com/ordering-a-data.frame-by-average-rank-of-multiple-columns-tf4247393.html#a12087498
> Sent from the R help mailing list archive at Nabble.com.
>
> __
> 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
> and provide commented, minimal, self-contained, reproducible code.
>

__
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
and provide commented, minimal, self-contained, reproducible code.


[R] ordering a data.frame by average rank of multiple columns

2007-08-10 Thread Tom.O

Hi 

I have run into a problem and i wonder if anyone has a smart way of doing
this.

For example i have this data frame for 5 different test groups:

Res1 <- c(1,5,4,-0.5,3)
Res2 <- c(-1,8,2,0,3)
Mean <- c(0.5,1,1.5,-.5,2)
MyFrame <- data.frame(Res1,Res2,Mean,row.names=c("G1","G2","G3","G4","G5"))

where the first two columns are the results of two different tests, the
third column is the mean of the group.

I want to order this data.frame by the combined rank of Res1 & Res2, but
where weigths are assigned to the importeance av each column. Lets assume
that Res1 is twice as important and lower values rank better.

MyRanks<-data.frame(Rank1=rank(MyFrame[,"Res1"]),Rank2=rank(MyFrame[,"Res2"]),CombR=2*rank(MyFrame[,"Res1"])+rank(MyFrame[,"Res2"]),row.names=c("G1","G2","G3","G4","G5"))

Rank1 Rank2 CombR 
G1 2 1 5
G2 5 515
G3 4 311
G4 1 2 4
G5 3 410


and the rank of the combined is 2,5,4,1,3 , but to be able to sort MyFrame
in that order I need to enter this vector of positions c(4,1,5,3,2) but do
anyone have a smart way of converting ranks to positions?

Tom


-- 
View this message in context: 
http://www.nabble.com/ordering-a-data.frame-by-average-rank-of-multiple-columns-tf4247393.html#a12087498
Sent from the R help mailing list archive at Nabble.com.

__
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
and provide commented, minimal, self-contained, reproducible code.