Suchen nach einem besseren Weg: Wie kann ich R die Werte einer flexiblen Teilmenge der mehrfachen Spalten Element-weise überprüfen lassen (sagen wir Var2
und Var3
hier) und das Ergebnis schreiben der Prüfung auf eine neue logische Spalte?Mehrfache Datenrahmenspalten gleichzeitig prüfen (flexible Art und Weise)
Gibt es hier einen kürzeren, eleganteren Weg als mit der Reihe apply()
hier?
df <- read.csv(
text = '"Var1","Var2","Var3"
"","",""
"","","a"
"","a",""
"a","a","a"
"a","","a"
"","a",""
"","",""
"","","a"
"","a",""
"","","a"'
)
criticalColumns <- c("Var2", "Var3")
df$criticalColumnsAreEmpty <-
apply(df[, criticalColumns], 1, function(curRow) {
return(all(curRow == ""))
})
ich könnte dies auch in expliziter Weise tun, aber das ist nicht ein flexibles dann:
df$criticalColumnsAreEmpty <- df$Var2 == "" & df$Var3 == ""
gewünschte Ausgabe:
Var1 Var2 Var3 criticalColumnsAreEmpty
TRUE
a FALSE
a FALSE
a a a FALSE
a a FALSE
a FALSE
TRUE
a FALSE
a FALSE
a FALSE