Come interpolare i valori mancanti in r (incluso un esempio)
È possibile utilizzare la seguente sintassi di base per interpolare i valori mancanti in una colonna di frame di dati in R:
library (dplyr) library (zoo) df <- df %>% mutate(column_name = na. approx (column_name))
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: interpolare i valori mancanti in R
Supponiamo di avere il seguente frame di dati in R che mostra le vendite totali effettuate da un negozio per 15 giorni consecutivi:
#create data frame df <- data. frame (day=1:15, sales=c(3, 6, 8, 10, 14, 17, 20, NA, NA, NA, NA, 35, 39, 44, 49)) #view data frame df day sales 1 1 3 2 2 6 3 3 8 4 4 10 5 5 14 6 6 17 7 7 20 8 8 NA 9 9 NA 10 10 NA 11 11 NA 12 12 35 13 13 39 14 14 44 15 15 49
Tieni presente che nel frame dati mancano i dati di vendita per quattro giorni.
Se creassimo un semplice grafico a linee per visualizzare le vendite nel tempo, ecco come apparirebbe:
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')
Per riempire i valori mancanti, possiamo usare la funzione na. approx() dal pacchetto zoo così come la funzione mutate() dal pacchetto dplyr :
library (dplyr) library (zoo) #interpolate missing values in 'sales' column df <- df %>% mutate(sales = na. approx (sales)) #view updated data frame df day sales 1 1 3 2 2 6 3 3 8 4 4 10 5 5 14 6 6 17 7 7 20 8 8 23 9 9 26 10 10 29 11 11 32 12 12 35 13 13 39 14 14 44 15 15 49
Si noti che ciascuno dei valori mancanti è stato sostituito.
Se creiamo un altro grafico a linee per visualizzare il data frame aggiornato, ecco come apparirebbe:
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')
Da notare che i valori scelti dalla funzione na. approx() sembrano corrispondere abbastanza bene all’andamento dei dati.
Risorse addizionali
I seguenti tutorial forniscono ulteriori informazioni su come gestire i valori mancanti in R:
Come trovare e contare i valori mancanti in R
Come imputare tutti i valori mancanti in R
Come utilizzare la funzione is.na in R