Como classificar por múltiplas colunas em r (com exemplos)
Você pode usar qualquer um dos seguintes métodos para classificar um quadro de dados em várias colunas em R:
Método 1: Use Base R
df[order(-df$column1, df$column2), ]
Método 2: use dplyr
library (dplyr) df %>% arrange( desc (column1), column2)
Os exemplos a seguir mostram como usar cada método na prática com o seguinte quadro de dados:
#create data frame df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G'), points=c(90, 90, 93, 91, 91, 99, 85), assists=c(33, 28, 31, 39, 34, 40, 44)) #view data frame df team points assists 1 A 90 33 2 B 90 28 3 C 93 31 4 D 91 39 5 E 91 34 6 F 99 40 7 G 85 44
Método 1: Use Base R
O código a seguir mostra como classificar o bloco de dados baseado em R por pontos decrescentes (do maior para o menor) e, em seguida, por assistências ascendentes:
#sort by points descending, then by assists ascending
df[order(-df$points, df$assists), ]
team points assists
6 F 99 40
3 C 93 31
5 E 91 34
4 D 91 39
2 B 90 28
1 A 90 33
7 G 85 44
Observe que as linhas no quadro de dados são ordenadas por pontos, do maior para o menor, e depois por assistências, do menor para o maior.
Método 2: use dplyr
O código a seguir mostra como usar funções no pacote dplyr para classificar o quadro de dados por pontos decrescentes (do maior para o menor) e, em seguida, por assistência ascendente:
library (dplyr)
df %>%
arrange( desc (dots), assists)
team points assists
1 F 99 40
2 C 93 31
3 E 91 34
4 D 91 39
5 B 90 28
6 A 90 33
7 G 85 44
Novamente, as linhas no quadro de dados são ordenadas por pontos, do maior para o menor, e depois por assistências, do menor para o maior.
Nota : Você pode encontrar a documentação completa da função organizar() aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações de classificação comuns em R:
Como ordenar valores em ordem alfabética em R
Como classificar um quadro de dados por data em R