name     <- "Tina"
alter    <- 45
therapie <- FALSE10 Logische Operatoren
Wir haben bereits logische Werte kennen gelernt. Diese sind entweder wahr (TRUE) oder falsch (FALSE). Logische Werte sind extrem praktisch, weil wir mit ihnen ausdrücken können, ob eine Person Therapie erhält oder älter als 75. Hierfür können wir logische Operatoren nutzen, die wir wahrscheinlich noch aus der Schule kennen. Nehmen wir an, Tina ist 45 Jahre als und erhält keine Therapie. Dann könnten wir dies folgendermaßen ausdrücken:
Wir fragen uns nun, ob Tina älter als 75 ist. Mathematisch fragen wir, ob alter > 75 wahr ist. In R nutzen wir hier daher auch das > Zeichen:
alter > 75[1] FALSEWir bekommen hier direkt mitgeteilt, dass Tina nicht über 75 ist. Überprüfe, ob Tina jünger als 45 ist.
Lösung anzeigen
alter < 45[1] FALSEWir können auch überprüfen, ob Tina exakt 45 Jahre alt ist. Hierfür nutzen wir zwei Gleichheitszeichen:
alter == 45[1] TRUEVersuche zu überprüfen, ob Tina 50 Jahre alt oder jünger ist.
Lösung anzeigen
alter <= 50[1] TRUE10.1 Auf Vektor-Elemente zugreifen
Im Kapitel Vektoren haben wir gesehen, wie man einzelne Elemente aus einem Vektor mittels eckiger Klammern anschauen kann:
# Vektor erstellen
ybocs <- c(3, 4, 2, 0, 2, 0, 3, 2, 1, 1)
# Wir zeigen den 5. Wert an:
ybocs[5][1] 2# Wir ändern den 7. Wert:
ybocs[7] <- 1Wir können auch logische Operatoren nutzen, um auf den Vektorinhalt zuzugreifen. Beispielsweise könnten wir uns fragen, auf welchen der Fragen der Patient einen Wert über 2 hat. Dies geht folgendermaßen:
ybocs_groesser_2 <- ybocs > 2
print(ybocs_groesser_2) [1]  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSER gibt uns für jeden Wert im Vektor ybocs aus, ob dieser \(>2\) ist (dann erhalten wir TRUE) oder \(\leq 2\) ist (dann erhalten wir FALSE).
Wenn wir nun schauen wollen, welche Werte auf den Fragen genau erzielt wurden, können wir dies folgendermaßen machen:
ybocs[ybocs_groesser_2][1] 3 4R greift nun aus dem ybocs Vektor nur die Werte heraus, bei denen in ybocs_groesser_2 TRUE steht.