A:如何使用 drop_na 删除缺失值的行


您可以使用 R 中Tidyr包中的drop_na()函数删除数据框中缺少值的行。

使用此功能有以下三种常见方法:

方法一:删除任意列中缺失值的行

 df %>% drop_na()

方法2:删除特定列中缺失值的行

 df %>% drop_na(col1)

方法3:删除几个特定列之一中缺失值的行

 df %>% drop_na(c(col1, col2))

以下示例展示了如何在实践中使用以下数据框使用每种方法:

 #create data frame
df <- data. frame (points=c(10, NA, 15, 15, 14, 16),
                 assists=c(4, NA, 4, NA, 9, 3),
                 rebounds=c(NA, 5, 10, 7, 7, NA))

#view data frame
df

  points assists rebounds
1 10 4 NA
2 NA NA 5
3 15 4 10
4 15 NA 7
5 14 9 7
6 16 3 NA

示例1:删除任意列中存在缺失值的行

以下代码展示了如何使用drop_na()删除任意列中缺少值的行:

 library (tidyr)

#drop rows with missing values in any column
df %>% drop_na()

  points assists rebounds
1 15 4 10
2 14 9 7

剩下的唯一行是那些在任何列中都不包含任何缺失值的行。

示例2:删除特定列中缺失值的行

下面的代码展示了如何使用drop_na()删除bounces列中缺少值的行:

 library (tidyr)

#drop rows with missing values in rebounds column
df %>% drop_na(rebounds)

  points assists rebounds
1 NA NA 5
2 15 4 10
3 15 NA 7
4 14 9 7

剩下的唯一行是跳出列中没有缺失值的行。

示例3:删除几个特定列之一中存在缺失值的行

以下代码展示了如何使用drop_na()删除辅助列中缺少值的行:

 library (tidyr)

#drop rows with missing values in the points or assists columns
df %>% drop_na(c(points, assists))

  points assists rebounds
1 10 4 NA
2 15 4 10
3 14 9 7
4 16 3 NA

剩下的唯一行是那些在分数助攻列中没有缺失值的行。

注意:您可以在此处找到drop_na()方法的完整在线文档。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中检索行号
如何在 R 中向数据框添加行
如何将函数应用于R中数据框的每一行

添加评论

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