Jak interpolować brakujące wartości w r (z przykładem)
Do interpolacji brakujących wartości w kolumnie ramki danych w R można użyć następującej podstawowej składni:
library (dplyr) library (zoo) df <- df %>% mutate(column_name = na. approx (column_name))
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: interpolacja brakujących wartości w R
Załóżmy, że mamy następującą ramkę danych w R, która pokazuje całkowitą sprzedaż dokonaną przez sklep przez 15 kolejnych dni:
#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
Należy zauważyć, że w ramce danych brakuje danych dotyczących sprzedaży za cztery dni.
Gdybyśmy stworzyli prosty wykres liniowy do wizualizacji sprzedaży w czasie, wyglądałby tak:
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')
Do uzupełnienia brakujących wartości możemy użyć funkcji na.about() z pakietu zoo oraz funkcji mutate() z pakietu 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
Należy pamiętać, że każda z brakujących wartości została zastąpiona.
Jeśli utworzymy kolejny wykres liniowy w celu wizualizacji zaktualizowanej ramki danych, będzie to wyglądać tak:
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')
Należy zauważyć, że wartości wybrane przez funkcję na.about() wydają się całkiem dobrze pasować do trendu danych.
Dodatkowe zasoby
Poniższe tutoriale dostarczają dodatkowych informacji na temat obsługi brakujących wartości w R:
Jak znaleźć i policzyć brakujące wartości w R
Jak wszystkim przypisać brakujące wartości w R
Jak korzystać z funkcji is.na w R