A: trova una colonna con un valore massimo per ogni riga


È possibile utilizzare la seguente sintassi per trovare la colonna con il valore massimo per ogni riga di un frame di dati in R:

 df$max_col <- colnames(df)[max. col (df, ties.method =' first ')]

Tieni presente che l’argomento tie.method=’first’ specifica che la prima colonna max deve essere restituita se sono presenti più colonne con un valore massimo in una determinata riga.

Altri valori che puoi fornire a questo argomento includono random e last , se invece vuoi restituire una colonna max casuale o l’ultima colonna max.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: trova una colonna con un valore massimo per ogni riga in R

Supponiamo di avere il seguente frame di dati in R che contiene informazioni sul numero di punti segnati da sei diversi giocatori di basket nel corso di tre partite:

 #create data frame
df <- data. frame (game1=c(23, 20, 14, 12, 19, 15),
                 game2=c(9, 10, 11, 13, 13, 15),
                 game3=c(29, 11, 22, 19, 14, 15))

#view data frame
df

  game1 game2 game3
1 23 9 29
2 20 10 11
3 14 11 22
4 12 13 19
5 19 13 14
6 15 15 15

Supponiamo di voler creare una nuova colonna contenente il nome della colonna con il valore massimo in ogni riga del data frame.

Possiamo usare la seguente sintassi per fare questo:

 #create new column that contains column with max value for each row
df$max_col <- colnames(df)[max. col (df, ties.method =' first ')]

#view updated data frame
df

  game1 game2 game3 max_col
1 23 9 29 game3
2 20 10 11 game1
3 14 11 22 game3
4 12 13 19 game3
5 19 13 14 game1
6 15 15 15 game1

La nuova colonna denominata max_col contiene il nome della colonna con il valore massimo in ogni riga.

Per esempio:

  • Nella prima riga, game3 conteneva il valore massimo.
  • Nella seconda riga, game1 conteneva il valore massimo.
  • Nella terza riga game3 conteneva il valore massimo.

E così via.

Tieni presente che ogni colonna nell’ultima riga ha lo stesso valore.

Poiché abbiamo specificato tie.method=’first’ nella funzione max.col() , il codice ha restituito game1 come colonna con il valore massimo poiché è la prima colonna massima.

Risorse addizionali

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

A: Come trovare righe univoche su più colonne
A: Come trovare colonne con tutti i valori mancanti
A: Come trovare valori univoci in una colonna

Aggiungi un commento

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