title: Replace NA with Zero in dplyr without using list()
body: <p>In dplyr I can replace NA with 0 using the following code. The issue is this inserts a list into my data frame which screws up further analysis down the line. I don't even understand lists or atomic vectors or any of that at this point. I just want to pick certain columns, and replace all occurrences of NA with zero. And maintain the columns integer status.</p>
  
  <pre><code>library(dplyr)
  df &lt;- tibble(x = c(1, 2, NA), y = c("a", NA, "b"), z = list(1:5, NULL, 10:20))
  df
  df %&gt;% replace_na(list(x = 0, y = "unknown"))
  </code></pre>
  
  <p>That works but transforms the column into a list. How do I do it without transforming the column into a list?</p>
  
  <p>And here's how to do it in base R. But not sure how to work this into a mutate statement:</p>
  
  <pre><code>df$x[is.na(df$x)] &lt;- 0
  </code></pre>