[R] Sort or Permutate

arun smartpink111 at yahoo.com
Tue Sep 11 18:15:21 CEST 2012



Hi,
You can also use:

within(small,{order(value)})
#                           file.name     value
#1     /storage/storage0/59Off.Rtable 0.2203863
#3 /storage/storage0/5912314ff.Rtable 0.2886594
#2    /storage/storage0/5912On.Rtable 0.4052370
A.K.



----- Original Message -----
From: Berend Hasselman <bhh at xs4all.nl>
To: Alaios <alaios at yahoo.com>
Cc: R help <R-help at r-project.org>
Sent: Tuesday, September 11, 2012 11:00 AM
Subject: Re: [R] Sort or Permutate


On 11-09-2012, at 13:13, Alaios wrote:

> Dear all,
> I am having a struct that contains on the first column file names and on the second column a number which is a "rating" of the file on first column
> 
> A small subset looks like that
> 
> small
>      [,1]                                                                                                                                                                
> [1,] "/storage/storage0/59Off.Rtable"
> [2,] "/storage/storage0/5912On.Rtable" 
> [3,] "/storage/storage0/5912314ff.Rtable"
>      [,2]              
> [1,] "0.220386301811093"
> [2,] "0.405237035258638"
> [3,] "0.288659374128626"
> 
> 
> I want based on the values of column two to rearrange table elements by keeping though the row elements together.
> For example if I order those in ascending order should look like
> 
> small
>      
> [,1]                                                                                                                                                                
> [1,] "/storage/storage0/59Off.Rtable"
> [2,] "/storage/storage0/5912314ff.Rtable" 
> [3,] " /storage/storage0/5912On.Rtable"
> 
>      [,2]              
> [1,] "0.220386301811093"
> [2,] "0.288659374128626"
> [3,] "0.405237035258638"
> 
> I have tried with sort, sort.list and order but I have failed .
> I do not quite undestand how one can complete this task in R.
> Could you please spend some time helping me?


Please provide data using dput.
You can do it using order() like this

small <- data.frame(file.name=c(
"/storage/storage0/59Off.Rtable",
"/storage/storage0/5912On.Rtable",
"/storage/storage0/5912314ff.Rtable"), stringsAsFactors=FALSE,
value=c(
0.220386301811093,
0.405237035258638,
0.288659374128626)
)

v.index <- order(small[,"value"])
small <- small[v.index,]
small

Berend
______________________________________________
R-help at 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.





More information about the R-help mailing list