Hãy nói rằng tôi có một data.frameLàm thế nào để sắp xếp dataframe trong R với bảo quản thứ tự cột được chỉ định?
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
Tôi muốn sắp xếp x bởi cột b và c nhưng giữ gìn trật tự của một như trước. x[order(x$b, x$c),]
- ngắt thứ tự của cột a. Đây là những gì tôi muốn:
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
Có cách nào để thực hiện nhanh không?
Hiện tại tôi chạy vòng lặp "cho" và sắp xếp từng tập hợp con, tôi chắc chắn phải có cách tốt hơn.
Cảm ơn bạn! Ilya
cột "a" không ra lệnh, nhưng nhóm lại. Thứ tự của "a" trong data.frame là quan trọng. – ilya
nó có nghĩa là x $ a đầu tiên sẽ được sắp xếp sau đó x $ b dựa trên x $ a, và sau đó x $ c dựa trên x $ a và x $ b, phải không? – jazzz