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中数据框的每一行