dplyr::mutieren (zuweisen na.rm =TRUE)

Ich habe einen Daten.Rahmen, 100 Variablen. Ich möchte die Summe der drei Variablen nur mit mutate (nicht summarise).

Wenn es NA in einem der 3 Variablen, die ich immer noch wollen, um die sum. Um dies zu tun, verwenden mutate ersetzte ich alle NA Werte mit 0 mit ifelse dann hab ich die 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))

Gibt es eine bessere (kürzere) Weg, dies zu tun?

DATEN

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)
  • replace(df, is.na(df), 0) %>% mutate(sum = var1 + var2 + var3)
  • Deine Antwort ist toll. Jedoch, wie ich bereits in der Frage ich habe einen Daten.Rahmen, die 100 Variablen und Ihre Antwort ersetzen, NA alle 100 Variablen mit null (nicht nur var1,var2 und var3), die ich nicht will
InformationsquelleAutor shiny | 2017-01-08
Schreibe einen Kommentar