June 2007
Beginner to intermediate
950 pages
27h 8m
English
It is common to want to sort a dataframe by rows, but rare to want to sort by columns. Because we are sorting by rows (the first subscript) we specify the order of the row subscripts before the comma. Thus, to sort the dataframe on the basis of values in one of the columns (say, Slope), we write
worms[order(Slope),]
Field.Name Area Slope Vegetation Soil.pH Damp Worm.density
5 Gunness.Thicket 3.8 0 Scrub 4.2 FALSE 6
8 Ashurst 2.1 0 Arable 4.8 FALSE 4
9 The.Orchard 1.9 0 Orchard 5.7 FALSE 9
15 Pond.Field 4.1 0 Meadow 5.0 TRUE 6
16 Water.Meadow 3.9 0 Meadow 4.9 TRUE 8
12 North.Gravel 3.3 1 Grassland 4.1 FALSE 1
19 Gravel.Pit 2.9 1 Grassland 3.5 FALSE 1
2 Silwood.Bottom 5.1 2 Arable 5.2 FALSE 7
6 Oak.Mead 3.1 2 Grassland 3.9 FALSE 2
13 South.Gravel 3.7 2 Grassland 4.0 FALSE 2
18 Pound.Hill 4.4 2 Arable 4.5 FALSE 5
3 Nursery.Field 2.8 3 Grassland 4.3 FALSE 2
7 Church.Field 3.5 3 Grassland 4.2 FALSE 3
10 Rookery.Slope 1.5 4 Grassland 5.0 TRUE 7
4 Rush.Meadow 2.4 5 Meadow 4.9 TRUE 5
14 Observatory.Ridge 1.8 6 Grassland 3.8 FALSE 0
17 Cheapside 2.2 8 Scrub 4.7 TRUE 4
11 Garden.Wood 2.9 10 Scrub 5.2 FALSE 8
20 Farm.Wood 0.8 10 Scrub 5.1 TRUE 3
1 Nashs.Field 3.6 11 Grassland 4.1 FALSE 4
There are some points to notice here. Because we wanted the sorting to apply to all the columns, the column subscript (after the comma) is blank: [order(Slope),]. The original row numbers are retained in the leftmost column. Where there are ties for the sorting variable (e.g. there are ...
Read now
Unlock full access