У меня есть data.frame, который имеет 100 переменных. Я хочу получить сумму трех переменных только с помощью mutate
(not summarise
).
Если в любой из трех переменных есть NA, я все равно хочу получить sum
. Чтобы сделать это, используя mutate
, я заменил все значения NA
на 0
с помощью ifelse
, после чего я получил sum
.
library(dplyr)
df %>% mutate(mod_var1 = ifelse(is.na(var1), 0, var1),
mod_var2 = ifelse(is.na(var2), 0, var2),
mod_var3 = ifelse(is.na(var3), 0, var3),
sum = (mod_var1+mod_var2+mod_var3))
Есть ли лучший (более короткий) способ сделать это?
DATA
df <- read.table(text = c("
var1 var2 var3
4 5 NA
2 NA 3
1 2 4
NA 3 5
3 NA 2
1 1 5"), header =T)