Come ordinare per più colonne in r (con esempi)


È possibile utilizzare uno dei seguenti metodi per ordinare un frame di dati su più colonne in R:

Metodo 1: utilizzare Base R

 df[order(-df$column1, df$column2), ]

Metodo 2: usa dplyr

 library (dplyr)

df %>%
  arrange( desc (column1), column2)

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #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

Metodo 1: utilizzare Base R

Il codice seguente mostra come ordinare il blocco dati basato su R in base ai punti discendenti (dal più grande al più piccolo), quindi in base agli assist ascendenti:

 #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

Si noti che le righe nel frame dati sono ordinate per punti dal più grande al più piccolo, quindi per assist dal più piccolo al più grande.

Metodo 2: usa dplyr

Il codice seguente mostra come utilizzare le funzioni nel pacchetto dplyr per ordinare il frame di dati in base ai punti discendenti (dal più grande al più piccolo) e quindi in base all’assistenza crescente:

 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

Ancora una volta, le righe nel frame di dati sono ordinate per punti dal più grande al più piccolo, quindi per assist dal più piccolo al più grande.

Nota : puoi trovare la documentazione completa per la funzione organizzare() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni di ordinamento comuni in R:

Come ordinare i valori in ordine alfabetico in R
Come ordinare un frame di dati per data in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *