如何在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 ') 

在R中插入缺失值

为了填充缺失值,我们可以使用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 中缺失值的附加信息:

如何在R中查找和计算缺失值
如何在R中全部估算缺失值
如何在R中使用is.na函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注