使用dplyr将R中的所有NA值替换为0

时间:2019-10-30 15:22:13

标签: r dplyr

合并$ number_articles%>%replace_na(0)

我正在尝试将df(合并)中的列(number_articles)中的所有na值替换为0。 我已经尝试了上面的代码,但是值没有被替换。在每个观察结果中仍显示NA。另外,我必须使用dplyr进行此操作。

3 个答案:

答案 0 :(得分:2)

看看?replace_na寻求帮助。

这应该有效:

merged <- merged %>%
   mutate(number_articles = replace_na(number_articles, 0))

编辑:已修改为包含在mutate中,我认为它可以解决注释中42标识的问题。

答案 1 :(得分:2)

我知道这不是您想要的,但是您可以在base R中执行以下操作:

merged$number_articles[is.na(merged$number_articles)] <- 0

答案 2 :(得分:1)

R通常(带有data.table例外)要求将起点替换为计算结果。在查看了help(replace_na,pac = tidyr)中的示例之后,我建议:

library(tidyr)  # or library(tidyverse)
merged <- merged %>% 
            replace_na( list(number_articles =0) )

或者:

merged <- merged %>% mutate(
            replace_na( number_articles , 0) )