Come utilizzare la funzione dplyr transmute in r (con esempi)


È possibile utilizzare la funzione transmute() in R per aggiungere nuove variabili calcolate a un frame di dati e rimuovere eventuali variabili esistenti.

Questa funzione utilizza la seguente sintassi di base:

 df %>% transmute(var_new = var1 * 2)

In questo esempio, una nuova variabile denominata var_new verrà creata moltiplicando una variabile esistente denominata var1 per 2.

Gli esempi seguenti mostrano come utilizzare la funzione transmute() con il seguente frame di dati in R:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28

Esempio 1: utilizzare transmute() per creare una nuova variabile

Il codice seguente mostra come utilizzare transmute() per creare una nuova variabile:

 library (dplyr)

#create new variable called points2
df %>% transmute(points2 = points * 2)

  points2
1,198
2,180
3,172
4,176
5,190

I valori Point2 sono uguali ai valori originali della colonna point moltiplicati per due.

Si noti che la funzione transmute() in realtà non modifica il frame di dati originale.

Per salvare i risultati della funzione transmute() in un nuovo frame di dati, è necessario memorizzarli in una variabile:

 library (dplyr)

#store results of transmute in variable
df_points2 <- df %>% transmute(points2 = points * 2)

#view results
df_points2

  points2
1,198
2,180
3,172
4,176
5,190

I risultati di transmute() sono ora memorizzati in un nuovo frame di dati.

Esempio 2: utilizzare transmute() per creare più nuove variabili

Il codice seguente mostra come utilizzare transmute() per creare più nuove variabili da variabili esistenti:

 library (dplyr)

#create multiple new variables
df %>%
 transmute(
  points2 = points * 2,
  rebounds_squared = rebounds^2,
  assists_half = assists/2,
  team_name= paste0(' team_ ', team)
)

  points2 rebounds_squared assists_half team_name
1,198,900 16.5 team_A
2 180 784 14.0 team_B
3 172 576 15.5 team_C
4 176 576 19.5 team_D
5 190 784 17.0 team_E

Si noti che sono state create quattro nuove variabili.

Risorse addizionali

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

Come utilizzare la funzione relocate() in dplyr
Come utilizzare la funzione slice() in dplyr
Come filtrare per numero di riga in dplyr

Aggiungi un commento

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