我有一个包含100个变量的data.frame。我只想使用
如果三个变量中的任何一个包含NA值,我仍希望得到它们的
mutate
(而不是summarise
)获取三个变量的总和。如果三个变量中的任何一个包含NA值,我仍希望得到它们的
sum
。为了使用mutate
实现这一点,我使用ifelse
将所有的NA
值替换为0
,然后获取了它们的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))
有没有更好(更短)的方法来完成这个任务?
数据
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)