Come utilizzare la funzione coalesce() in dplyr (con esempi)
È possibile utilizzare la funzione coalesce() del pacchetto dplyr in R per restituire il primo valore non mancante in ogni posizione di uno o più vettori.
Esistono due modi comuni per utilizzare questa funzione:
Metodo 1: sostituisci i valori mancanti nel vettore
library (dplyr)
#replace missing values with 100
coalescence(x, 100)
Metodo 2: restituisce il primo valore non mancante nelle colonne del frame di dati
library (dplyr)
#return first non-missing value at each position across columns A and B
coalesce(df$A, df$B)
Gli esempi seguenti mostrano come applicare ciascun metodo nella pratica.
Esempio 1: utilizzare coalesce() per sostituire i valori mancanti nel vettore
Il codice seguente mostra come utilizzare la funzione coalesce() per sostituire tutti i valori mancanti in un vettore con un valore 100:
library (dplyr) #create vector of values x <- c(4, NA, 12, NA, 5, 14, 19) #replace missing values with 100 coalescence(x, 100) [1] 4 100 12 100 5 14 19
Nota che ogni valore NA nel vettore originale è stato sostituito con un valore di 100 .
Esempio 2: utilizzare coalesce() per restituire il primo valore non mancante nelle colonne del frame di dati
Supponiamo di avere il seguente frame di dati in R:
#create data frame
df <- data. frame (A=c(10, NA, 5, 6, NA, 7, NA),
B=c(14, 9, NA, 3, NA, 10, 4))
#view data frame
df
AB
1 10 14
2 NA 9
3 5 NA
4 6 3
5 NA NA
6 7 10
7 NA 4
Il codice seguente mostra come utilizzare la funzione coalesce() per restituire il primo valore non mancante nelle colonne A e B del frame di dati:
library (dplyr)
#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B)
#view updated data frame
df
ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA NA
6 7 10 7
7 NA 4 4
La colonna C risultante contiene il primo valore non mancante nelle colonne A e B.
Tieni presente che la riga 5 ha un valore NA nella colonna C poiché le colonne A e B avevano entrambe valori NA in questa riga.
Possiamo semplicemente aggiungere un valore extra alla funzione coalesce() da utilizzare come valore se sono presenti valori NA in ciascuna colonna:
library (dplyr)
#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B, 100)
#view updated data frame
df
ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA 100
6 7 10 7
7 NA 4 4
Tieni presente che il valore NA nella riga 5 della colonna C è stato ora sostituito con il valore 100 .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre funzioni comuni utilizzando dplyr:
Come eliminare righe utilizzando dplyr
Come organizzare le righe utilizzando dplyr
Come filtrare in base a più condizioni utilizzando dplyr