[R] Reorder data frame columns by negating list of names
Thompson, David (MNR)
David.John.Thompson at ontario.ca
Tue Feb 12 18:19:43 CET 2008
Hello,
I would like to reorder columns in a data frame by their names as
demonstrated below:
Take this data frame:
> xxx <- data.frame(matrix(1:40, ncol=8))
> names(xxx) <- letters[1:8]
> xxx
a b c d e f g h
1 1 6 11 16 21 26 31 36
2 2 7 12 17 22 27 32 37
3 3 8 13 18 23 28 33 38
4 4 9 14 19 24 29 34 39
5 5 10 15 20 25 30 35 40
and reorder the columns like this:
> xxx[,c( c('b', 'd', 'h'), c('a', 'c', 'e', 'f', 'g') )]
b d h a c e f g
1 6 16 36 1 11 21 26 31
2 7 17 37 2 12 22 27 32
3 8 18 38 3 13 23 28 33
4 9 19 39 4 14 24 29 34
5 10 20 40 5 15 25 30 35
where I only have to name the columns that I'm interested in moving to
the first few positions, something like:
> xxx[,c( c('b', 'd', 'h'), -c('b', 'd', 'h') )]
Error in -c("b", "d", "h") : invalid argument to unary operator
Suggestions? and Thank you, DaveT.
*************************************
Silviculture Data Analyst
Ontario Forest Research Institute
Ontario Ministry of Natural Resources
david.john.thompson at ontario.ca
http://ofri.mnr.gov.on.ca
More information about the R-help
mailing list