Digamos que tengo un hoja.de.datos¿Cómo ordenar el dataframe en R con la preservación de orden de columna especificada?
x <- data.frame(a = c('A','A','A','A','A', 'C','C','C','C', 'B','B','B'),
b = c('a','c','a','a','c', 'd', 'e','e','d', 'b','b','b'),
c = c(7, 3, 2, 4, 5, 3, 1, 1, 5, 5, 2, 3),
stringsAsFactors = FALSE)
> x
a b c
1 A a 7
2 A c 3
3 A a 2
4 A a 4
5 A c 5
6 C d 3
7 C e 1
8 C e 1
9 C d 5
10 B b 5
11 B b 2
12 B b 3
quisiera ordenar x por las columnas B y C, pero manteniendo el orden de como antes. x[order(x$b, x$c),]
- cancela el orden de la columna a. Esto es lo que quiero:
a b c
3 A a 2
4 A a 4
1 A a 7
2 A c 3
5 A c 5
6 C d 3
9 C d 5
7 C e 1
8 C e 1
11 B b 2
12 B b 3
10 B b 5
¿Hay una manera rápida de hacerlo?
Actualmente corro el bucle "for" y ordeno cada subconjunto, estoy seguro de que debe haber una manera mejor.
¡Gracias! Ilya
"a" no ordenado, pero agrupados. El orden de "a" en data.frame es importante. – ilya
significa que primero x $ a se ordenará luego x $ b basado en x $ a, y luego x $ c basado en x $ a y x $ b, ¿no? – jazzz