# [R] sort a data.frame

Dejian Zhao zhaodj at ioz.ac.cn
Fri May 21 02:48:52 CEST 2010

``` If you want to sort the data frame according to column "b", the
followding code does this work.
attach(dd)
dd<-dd[order(b),]
detach(dd)

If you want to sort the data frame according to the chr number in column
b, you should extract the numbers first into a vector, say chrnum, and
then use order(chrnum) as the index to sort the data frame dd. Suppose
that the chr numbers have been extracted to vector chrnum. The code is
as follows:
chrnum <-c(2,1,15,13)
attach(dd)
dd<-dd[order(chrnum),]
detach(dd)

The result is
> dd
b x y z
2  chr1 D 3 1
1  chr2 A 8 1
4 chr13 C 9 2
3 chr15 A 9 1

But I don't know how to extract the numbers conveniently.
Please respond if anyone knows.
Many thanks!

On 05/20/2010 08:28 PM, Yuan Jian wrote:
> Hello,
>
> I have a dataframe:
> dd<- data.frame(b = c("chr2", "chr1", "chr15", "chr13"),
>        x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9),
>         z = c(1, 1, 1, 2))
>
>
>> dd
>>
>        b x y z
> 1  chr2 A 8 1
> 2  chr1 D 3 1
> 3 chr15 A 9 1
> 4 chr13 C 9 2
>
> Now I want to sort them according column "b", but only its number is considered:
>        b x y z
> 1  chr1 D 3 1
> 2 chr13 C 9 2
> 3 chr15 A 9 1
> 4  chr2 A 8 1
>
> thanks
> jian
>
>
>

```

More information about the R-help mailing list