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

时间:2017-06-01 19:19:08

标签: r dplyr na

我刚刚合并了两个数据框,并尝试删除值列中带有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包。

1 个答案:

答案 0 :(得分:0)

您可以使用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