[R] Sorting a dataframe
Hotz, T.
th50 at leicester.ac.uk
Tue Aug 12 18:56:51 CEST 2003
Dear Paul,
Use order() to get the indices of the ordered rows.
See ?order
> blah <- data.frame(X = rep(3:1, each=4), Y = rep(c(2,1,2,1), 3), Z = rep(2:1, 6))
> blah
X Y Z
1 3 2 2
2 3 1 1
3 3 2 2
4 3 1 1
5 2 2 2
6 2 1 1
7 2 2 2
8 2 1 1
9 1 2 2
10 1 1 1
11 1 2 2
12 1 1 1
> blah <- data.frame(X = rep(3:1, each=4), Y = rep(c(2,2,1,1), 3), Z = rep(2:1, 6))
> blah
X Y Z
1 3 2 2
2 3 2 1
3 3 1 2
4 3 1 1
5 2 2 2
6 2 2 1
7 2 1 2
8 2 1 1
9 1 2 2
10 1 2 1
11 1 1 2
12 1 1 1
> with(blah, order(X, Y, Z)) # this gives the indices of the ordered rows
[1] 12 11 10 9 8 7 6 5 4 3 2 1
> blah[with(blah, order(X, Y, Z)), ]
X Y Z
12 1 1 1
11 1 1 2
10 1 2 1
9 1 2 2
8 2 1 1
7 2 1 2
6 2 2 1
5 2 2 2
4 3 1 1
3 3 1 2
2 3 2 1
1 3 2 2
HTH
Thomas
---
Thomas Hotz
Research Associate in Medical Statistics
University of Leicester
United Kingdom
Department of Epidemiology and Public Health
22-28 Princess Road West
Leicester
LE1 6TP
Tel +44 116 252-5410
Fax +44 116 252-5423
Division of Medicine for the Elderly
Department of Medicine
The Glenfield Hospital
Leicester
LE3 9QP
Tel +44 116 256-3643
Fax +44 116 232-2976
> -----Original Message-----
> From: Paul, David A [mailto:paulda at BATTELLE.ORG]
> Sent: 12 August 2003 17:39
> To: 'r-help at stat.math.ethz.ch'
> Subject: [R] Sorting a dataframe
>
>
> Undoubtedly a simple question:
>
> I've looked at order() and sort() in the help pages for
> R1.7.1. It doesn't appear that these functions are immediately
> suited to doing the same thing as
>
> PROC SORT DATA = BLAH;
> BY X Y Z;
> RUN;
>
> in SAS. I have also checked Frank Harrell's Hmisc library.
> Could someone point me in the right direction so I can sort
> by the levels of Z within the levels of Y within the levels
> of X? Everything needs to be in ascending order.
>
>
> Much thanks in advance,
> david paul
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>
More information about the R-help
mailing list