Je voudrais remplacer les valeurs NA
par des zéros via mutate_if
dans dplyr
. La syntaxe ci-dessous :
set.seed(1)
mtcars[sample(1:dim(mtcars)[1], 5),
sample(1:dim(mtcars)[2], 5)] <- NA
require(dplyr)
mtcars %>%
mutate_if(is.na,0)
mtcars %>%
mutate_if(is.na, funs(. = 0))
Renvoie une erreur :
Erreur dans
vapply(tbl, p, logical(1), ...)
: les valeurs doivent être de longueur 1, mais le résultat deFUN(X[[1]])
est de longueur 32
Quelle est la syntaxe correcte pour cette opération ?
5 votes
Pour cette tâche particulière, vous pourriez également envisager le plus simple
tidyr::replace_na
plutôt que les approches plus génériques demutate_if