列表删除给定列中具有NA的行

时间:2014-05-26 22:53:49

标签: r function missing-data

我正在尝试删除数据框中的行,其中给定列具有该行的NA。例如,采用下面的数据框

ID# Name Sales Price 
1    NA    15   34
2    Jay   NA   52
3    Roy   NA   21
4    NA    56   NA
5    Jake  60   20

我想删除名称列中包含NA的所有行。所以我会留下一个如下所示的数据框:

ID# Name Sales Price 
2    Jay   NA   52
3    Roy   NA   21
5    Jake  60   20

我正在尝试new_df< - na.omit(df [," Name"])但这不起作用(不确定原因)

1 个答案:

答案 0 :(得分:4)

df <- df[!is.na(df$Name), ]

实施例

df <- data.frame(Name = c(NA, "Jay", "Roy", NA, "Jake"), Sales = c(15, NA, NA, 56, 60), Price = c(34, 52, 21, NA, 20), stringsAsFactors = FALSE)
df <- df[!is.na(df$Name), ]
dim(df) # 3 3