Mit den folgenden Beispieldaten versuche ich eine neue Variable "Den" (Wert "0" oder "1") basierend auf den Werten der drei bedingten Variablen (Denial1, Denial2, und Leugnung3).Ifselse-Anweisung in R mit mehreren Bedingungen
Ich möchte eine "0", wenn eine der drei bedingten Variablen eine "0" und eine "1" hat, nur wenn jede bedingte Variable, die einen Wert in ihr hat, einen Wert von "1" hat (zB isn ' t NA).
structure(list(Denial1 = NA_real_, Denial2 = 1, Denial3 = NA_real_,
Den = NA), .Names = c("Denial1", "Denial2", "Denial3", "Den"
), row.names = 1L, class = "data.frame")
Ich habe die beiden folgenden Befehle versucht, die „Den“ in einem fehlenden Wert NA ergeben:
DF$Den<-ifelse (DF$Denial1 < 1 | DF$Denial2 < 1 | DF$Denial3 < 1, "0", "1")
DF$Den<-ifelse(DF$Denial1 < 1,"0", ifelse (DF$Denial2 < 1,"0", ifelse(DF$Denial3 < 1,"0", "1")))
Könnte jemand zeigen, wie dies zu tun?
möglicherweise hilfreich: http://stackoverflow.com/questions/18012222/nested-ifelse-statement-in-r?rq=1 – jaimedash
@jaimedash Ihnen danken für die Link, ich habe das gelesen, bevor ich die Frage gepostet habe und das Skript für verschachtelte ifelse-Anweisungen oben eingefügt habe. Ich muss irgendwo noch einen Fehler machen. – user3594490
Sie brauchen sowohl 1) nicht "NA" und 2) '<1". Es ist hässlich, aber mehrere dieser '(DF $ Denial1 <1 &! Is.na (DF $ Denial1)) mit' & 'zu verketten sollte funktionieren. (Bearbeitet, um von '&&' zu elementwise '&' zu wechseln) – jaimedash