na.omit 删除 R 中的所有观察结果

na.omit dropping all observations in R

我正在尝试使用 R 中的 na.omit() 函数删除我数据中教育变量的所有 NA。但是,该函数删除了我在数据中的所有观察结果,尽管有教育变量只有两个 NA。以下是 R 输出:

> dim(data)
[1] 146688    167
> sum(is.na(data$educ))
[1] 2
> data2 = na.omit(data$educ)
> dim(data2)
NULL

sum(is.na()) 函数只计算两个 NA,所以 na.omit() 应该只删除两行,对吗?为什么函数会删除我的所有观察结果?

一种简单的方法是对数据进行子集化。此外,您可能想尝试使用 table 函数来查看变量是否丢失。

table(is.na(data$educ))
test <- subset(data, is.na(educ)) # So you can look at the 2 observations missing this variable
data2 <- subset(data, !is.na(educ))