Как интерполировать пропущенные значения в r (включая пример)
Вы можете использовать следующий базовый синтаксис для интерполяции отсутствующих значений в столбце фрейма данных в R:
library (dplyr) library (zoo) df <- df %>% mutate(column_name = na. approx (column_name))
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: интерполировать отсутствующие значения в R
Предположим, у нас есть следующий фрейм данных в R, который показывает общий объем продаж, совершенный магазином за 15 дней подряд:
#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
Обратите внимание, что в таблице данных отсутствуют данные о продажах за четыре дня.
Если бы мы создали простую линейную диаграмму для визуализации продаж с течением времени, она бы выглядела вот так:
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')

Чтобы заполнить пропущенные значения, мы можем использовать функцию na.approx() из пакета Zoo , а также функцию mutate() из пакета 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
Обратите внимание, что каждое из пропущенных значений заменено.
Если мы создадим еще одну линейную диаграмму для визуализации обновленного фрейма данных, она будет выглядеть вот так:
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')

Обратите внимание, что значения, выбранные функцией na.approx(), похоже, довольно хорошо соответствуют тенденции данных.
Дополнительные ресурсы
Следующие руководства предоставляют дополнительную информацию о том, как обрабатывать пропущенные значения в R:
Как найти и посчитать пропущенные значения в R
Как все вменить пропущенные значения в R
Как использовать функцию is.na в R