如何在 r 中查找和计算缺失值(附示例)


您可以使用以下方法来查找和统计R中的缺失值:

方法 1:查找缺失值的位置

 which( is.na (df$column_name))

方法 2:统计缺失值总数

 sum( is.na (df$column_name))

以下示例展示了如何在实践中使用这些功能。

示例1:查找并统计列中的缺失值

假设我们有以下数据框:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(NA, 28, NA, NA, 34),
                 rebounds=c(30, 28, 24, 24, NA))

#view data frame
df

  team points assists rebounds
1 A 99 NA 30
2 B 90 28 28
3 C 86 NA 24
4 NA 88 NA 24
5 E 95 34 NA

我们可以使用下面的代码来识别“assist”列中存在缺失值的位置,并找出“assist”列中缺失值的总数:

 #identify locations of missing values in 'assists' column
which( is.na (df$assists))

[1] 1 3 4

#count total missing values in 'assists' column
sum( is.na (df$assists))

[1] 3 

从结果中我们可以看到,位置1、3、4在“assists”列存在缺失,该列中总共有3 个缺失值。

示例2:统计所有列中的缺失值

下面的代码展示了如何统计数据框每一列中的总缺失值:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(NA, 28, NA, NA, 34),
                 rebounds=c(30, 28, 24, 24, NA))

#count total missing values in each column of data frame
sapply(df, function (x) sum(is. na (x)))

    team points assists rebounds 
       1 0 3 1

从结果我们可以看出:

  • “团队”列有1 个缺失值。
  • “点”列包含0 个缺失值。
  • “协助”列有3 个缺失值。
  • “篮板数”列有1 个缺失值。

示例3:统计整个数据框中的缺失值

下面的代码展示了如何统计整个数据框中的总缺失值:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(NA, 28, NA, NA, 34),
                 rebounds=c(30, 28, 24, 24, NA))

#count total missing values in entire data frame
sum( is.na (df))

[1] 5

从结果中我们可以看到整个数据框中总共有5个缺失值。

其他资源

以下教程解释了如何在 R 中执行缺失值的其他常见操作:

如何在R中全部估算缺失值
如何在 R 中用字符串替换 NA
如何在 dplyr 中用零替换 NA

添加评论

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