如何在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 ')
为了填充缺失值,我们可以使用zoo包中的na.approx()函数以及dplyr包中的mutate()函数:
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 中缺失值的附加信息: