<- "Tina"
name <- 45
alter <- FALSE therapie
10 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:
> 75 alter
[1] FALSE
Wir bekommen hier direkt mitgeteilt, dass Tina nicht über 75 ist. Überprüfe, ob Tina jünger als 45 ist.
Lösung anzeigen
< 45 alter
[1] FALSE
Wir können auch überprüfen, ob Tina exakt 45 Jahre alt ist. Hierfür nutzen wir zwei Gleichheitszeichen:
== 45 alter
[1] TRUE
Versuche zu überprüfen, ob Tina 50 Jahre alt oder jünger ist.
Lösung anzeigen
<= 50 alter
[1] TRUE
10.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
<- c(3, 4, 2, 0, 2, 0, 3, 2, 1, 1)
ybocs # Wir zeigen den 5. Wert an:
5] ybocs[
[1] 2
# Wir ändern den 7. Wert:
7] <- 1 ybocs[
Wir 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 > 2
ybocs_groesser_2 print(ybocs_groesser_2)
[1] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
R 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 4
R greift nun aus dem ybocs
Vektor nur die Werte heraus, bei denen in ybocs_groesser_2
TRUE steht.