É possível usar os seguintes métodos para organizar as linhas por grupo no dplyr:

Método 1: Organizar as linhas por ordem ascendente por grupo

 library (dplyr) #organizar as linhas por ordem crescente com base em col2, agrupadas por col1 df %>% group_by(col1) %>% arrange(col2, . by_group = TRUE ) 

Método 2: Organizar as linhas por ordem decrescente por grupo

 library (dplyr) #organizar as linhas por ordem decrescente com base em col2, agrupadas por col1 df %>% group_by(col1) %>% arrange( desc (col2), . by_group = TRUE ) 

Método 3: Organizar as linhas por vários grupos

 library (dplyr) #organizar as linhas com base em col3, agrupadas por col1 e col2 df %>% group_by(col1, col2) %>% arrange(col3, . by_group = TRUE ) 

Este tutorial explica como utilizar cada método na prática com o seguinte quadro de dados:

 #create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'F', 'G', 'G', 'G', 'F', 'F'), points=c(10, 12, 3, 14, 22, 15, 17, 17)) #view data frame df team position points 1 A G 10 2 A G 12 3 A F 3 4 A F 14 5 B G 22 6 B G 15 7 B F 17 8 B F 17 

Exemplo 1: Organizar linhas por ordem ascendente por grupo

O código a seguir mostra como organizar as linhas em ordem crescente com base em pontos , agrupados pelo equipa coluna:

 library (dplyr) #organizar as linhas por ordem crescente de pontos, agrupados por equipa df %>% group_by(team) %>% arrange(points, . by_group = TRUE ) # Uma tabela: 8 x 3 # Grupos: equipa posição da equipa pontos 1 A F 3 2 A G 10 3 A G 12 4 A F 14 5 B G 15 6 B F 17 7 B F 17 8 B G 22 

As linhas são organizadas por ordem crescente (da menor para a maior) por pontos , agrupados pelo equipa coluna.

Exemplo 2: Organizar linhas por ordem decrescente por grupo

O código a seguir mostra como organizar as linhas em ordem decrescente com base em pontos , agrupados pelo equipa coluna:

 library (dplyr) #ordenar as linhas por ordem decrescente de pontos, agrupados por equipa df %>% group_by(team) %>% arrange( desc (points), . by_group = TRUE ) # Um tibble: 8 x 3 # Grupos: equipa posição pontos 1 A F 14 2 A G 12 3 A G 10 4 A F 3 5 B G 22 6 B F 17 7 B F 17 8 B G 15 

As linhas são organizadas por ordem decrescente (da maior para a menor) por pontos , agrupados pelo equipa coluna.

Exemplo 3: Organizar linhas por vários grupos

O código a seguir mostra como organizar as linhas em ordem crescente com base em pontos , agrupados pelo equipa e posição colunas:

 library (dplyr) #ordenar linhas por ordem decrescente de pontos, agrupadas por equipa e posição df %>% group_by(team, position) %>% arrange(points, . by_group = TRUE ) # Uma tabela: 8 x 3 # Grupos: equipa, posição equipa posição pontos 1 A F 3 2 A F 14 3 A G 10 4 A G 12 5 B F 17 6 B F 17 7 B G 15 8 B G 22 

As linhas são organizadas por ordem crescente (da menor para a maior) por pontos , agrupados pelo equipa e posição colunas.