[R] Sort or Permutate
Berend Hasselman
bhh at xs4all.nl
Tue Sep 11 17:00:12 CEST 2012
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
More information about the R-help
mailing list