In R gibt es zwei Arten von booleschen Operatoren: elementweise Operatoren (&
und |
) und kurzschließende Operatoren (&&
und ||
). Der Hauptunterschied zwischen diesen Operatoren liegt in ihrer Anwendung und ihrem Verhalten:
- Elementweise Operatoren (
&
und|
):
- & (Und): Gibt für jedes Element eines Vektors
TRUE
zurück, wenn beide entsprechenden ElementeTRUE
sind; sonstFALSE
. - | (Oder): Gibt für jedes Element eines Vektors
TRUE
zurück, wenn mindestens eines der entsprechenden ElementeTRUE
ist; sonstFALSE
. - Diese Operatoren werden auf alle Elemente eines Vektors angewendet und liefern einen Vektor als Ergebnis. Beispiel:
c(TRUE, FALSE, TRUE) & c(TRUE, TRUE, FALSE)
# Gibt zurück: TRUE FALSE FALSE
c(TRUE, FALSE, TRUE) | c(FALSE, TRUE, FALSE)
# Gibt zurück: TRUE TRUE TRUE
- Kurzschließende Operatoren (
&&
und||
):
- && (Und): Evaluiert das linke Argument und gibt
FALSE
zurück, wenn esFALSE
ist, ohne das rechte Argument zu evaluieren. Evaluiert das rechte Argument nur, wenn das linkeTRUE
ist. - || (Oder): Evaluiert das linke Argument und gibt
TRUE
zurück, wenn esTRUE
ist, ohne das rechte Argument zu evaluieren. Evaluiert das rechte Argument nur, wenn das linkeFALSE
ist. - Diese Operatoren werden nur auf das erste Element der Vektoren angewendet und liefern einen einzelnen Wert (
TRUE
oderFALSE
) als Ergebnis. Beispiel:
c(TRUE, FALSE) && c(FALSE, TRUE)
# Gibt zurück: FALSE
c(FALSE, FALSE) || c(TRUE, FALSE)
# Gibt zurück: TRUE
Zusammenfassung:
- Verwenden Sie
&
und|
, wenn Sie elementweise Operationen auf Vektoren durchführen möchten. - Verwenden Sie
&&
und||
in Situationen, in denen Sie nur das erste Element evaluieren oder kurzschließende Logik verwenden möchten (z. B. in Bedingungen vonif
-Anweisungen).