na.omit 不删除 NA(数据是数字)

na.omit not removing NA (data is numerical)

我刚刚合并了两个数据框,并试图删除值列中带有 NA 的行。截至目前我有..

t.dup.rights <- merge(dataframe1, dataframe2, by = "ID", all = T)
na.omit(tdup.rights$value)

值列有 1 或 NA。我用了

is.numeric(t.dup.rights$value)

再次确认 r 认为这不是一个因素。在我 运行 na.omit 函数之后,数据框似乎保持不变。我正在处理一个特别大的数据集(200K obs)。我也在使用 dplyr 包。

您可以使用tidyr::drop_na

library(dplyr)
library(tidyr)

df <- data_frame(
  x = sample(c(NA, 1, 2), 10, replace = TRUE),
  y = sample(c(NA, 1, 2), 10, replace = TRUE)
)

df

#> # A tibble: 10 x 2
#>        x     y
#>    <dbl> <dbl>
#> 1     NA    NA
#> 2      1     2
#> 3      2     2
#> 4     NA     1
#> 5      2    NA
#> 6      1    NA
#> 7     NA    NA
#> 8      2     2
#> 9      1    NA
#> 10    NA     2

drop_na(df, x)

#> # A tibble: 6 x 2
#>       x     y
#>   <dbl> <dbl>
#> 1     1     2
#> 2     2     2
#> 3     2    NA
#> 4     1    NA
#> 5     2     2
#> 6     1    NA