Come aggiungere colonne al frame di dati in r utilizzando dplyr


Puoi utilizzare la funzione mutate() del pacchetto dplyr per aggiungere una o più colonne a un frame di dati in R.

Questa funzione utilizza la seguente sintassi di base:

Metodo 1: aggiungi una colonna alla fine del frame di dati

 df %>%
mutate (new_col=c(1, 3, 3, 5, 4))

Metodo 2: aggiungere una colonna prima di una colonna specifica

 df %>%
mutate (new_col=c(1, 3, 3, 5, 4),
        .before=col_name)

Metodo 3: aggiungi una colonna dopo una colonna specifica

 df %>%
mutate (new_col=c(1, 3, 3, 5, 4),
        .after=col_name)

Metodo 4: aggiungere una colonna basata su altre colonne

 df %>%
mutate (new_col= if_else (.$col_name > 10, ' A ', ' B '))

I seguenti esempi mostrano come utilizzare in pratica questa sintassi con il seguente frame di dati:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(12, 14, 19, 24, 24, 22, 30, 9),
                 assists=c(4, 6, 6, 8, 3, 7, 8, 11))

#view data frame
df

  team points assists
1 to 12 4
2 to 14 6
3 To 19 6
4 to 24 8
5 B 24 3
6 B 22 7
7 B 30 8
8 B 9 11

Esempio 1: aggiungi una colonna alla fine del frame di dati

Il codice seguente mostra come aggiungere una colonna alla fine del frame di dati:

 #add 'blocks' column at end of data frame
df <- df %>%
        mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2))

#view data frame
df

  team points assists blocks
1 to 12 4 1
2 A 14 6 3
3 A 19 6 3
4 A 24 8 2
5 B 24 3 4
6 B 22 7 3
7 B 30 8 6
8 B 9 11 2

Tieni presente che puoi aggiungere una colonna vuota semplicemente assegnando NA a ciascun valore nella nuova colonna:

 #add empty column at end of data frame
df <- df %>%
        mutate (blocks=NA)

#view data frame
df

  team points assists blocks
1 A 12 4 NA
2 A 14 6 NA
3 A 19 6 NA
4 A 24 8 NA
5 B 24 3 NA
6 B 22 7 NA
7 B 30 8 NA
8 B 9 11 NA

Esempio 2: aggiungere una colonna prima di una colonna specifica

Il codice seguente mostra come aggiungere una colonna prima di una colonna specifica nel frame di dati:

 #add 'blocks' column before 'points' column
df <- df %>%
        mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
              .before=points)

#view data frame
df

  team blocks points assists
1 A 1 12 4
2 to 3 14 6
3 A 3 19 6
4 A 2 24 8
5 B 4 24 3
6 B 3 22 7
7 B 6 30 8
8 B 2 9 11

Esempio 3: aggiungere una colonna dopo una colonna specifica

Il codice seguente mostra come aggiungere una colonna dopo una colonna specifica nel frame di dati:

 #add 'blocks' column after 'points' column
df <- df %>%
        mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
              .after=points)

#view data frame
df

  team points blocks assists
1 to 12 1 4
2 A 14 3 6
3 A 19 3 6
4 A 24 2 8
5 B 24 4 3
6 B 22 3 7
7 B 30 6 8
8 B 9 2 11

Esempio 4: aggiungere una colonna basata su altre colonne

Il codice seguente mostra come aggiungere una colonna basata su un’altra colonna nel frame di dati:

 #add 'status' column whose values depend on value in 'points' column
df <- df %>%
        mutate (status= if_else (.$points > 20, ' Good ', ' Bad '))

#view data frame
df

  team points assists status
1 A 12 4 Bad
2 A 14 6 Bad
3 A 19 6 Bad
4 A 24 8 Good
5 B 24 3 Good
6 B 22 7 Good
7 B 30 8 Good
8 B 9 11 Bad

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre funzioni comuni in dplyr:

Come rinominare una colonna in base alla posizione dell’indice utilizzando dplyr
Come selezionare le colonne per indice utilizzando dplyr
Come eliminare righe utilizzando dplyr

Aggiungi un commento

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