Come ordinare un frame di dati per colonna in r (con esempi)


Il modo più semplice per ordinare un frame di dati per colonna in R è utilizzare la funzione order() :

 #sort ascending
df[ order (df$var1), ]

#sort descending
df[ order (-df$var1), ]

Questo tutorial fornisce diversi esempi di come utilizzare praticamente questa funzione con il seguente frame di dati:

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=letters[1:5])

#view data frame
df

  var1 var2 var3
1 1 7 a
2 3 7b
3 3 8 c
4 4 3 d
5 5 2nd

Esempio 1: ordinare per colonna

Il codice seguente mostra come ordinare il frame di dati per colonna var1 , sia ascendente che discendente:

 #sort by var1 ascending
df[ order (df$var1), ]

  var1 var2 var3
1 1 7 a
2 3 7b
3 3 8 c
4 4 3 d
5 5 2nd

#sort by var1 descending
df[ order (-df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
2 3 7 b
3 3 8 c
1 1 7 a

Tieni presente che possiamo anche ordinare in ordine alfabetico per vettore di caratteri:

 #sort by var3 ascending
df[ order (df$var3), ]

  var1 var2 var3
1 1 7 a
2 3 7 b
3 3 8 c
4 4 3 d
5 5 2nd

Esempio 2: ordinamento su più colonne

Il codice seguente mostra come ordinare il frame di dati in base a più colonne:

 #sort by var2 ascending, then var1 ascending
df[ order (df$var2, df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
1 1 7 a
2 3 7b
3 3 8 c

#sort by var2 ascending, then var1 descending
df[ order (df$var2, -df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
2 3 7b
1 1 7 a
3 3 8 c

Risorse addizionali

Come aggiungere una colonna a un frame di dati in R
Come ordinare un dataframe per data in R
Come convertire un carattere in numerico in R

Aggiungi un commento

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