R Language
Die logische Klasse
Suche…
Einführung
Logisch ist ein Modus (und eine implizite Klasse) für Vektoren.
Bemerkungen
Stenografie
TRUE
, FALSE
und NA
sind die einzigen Werte für logische Vektoren. und alle drei sind reservierte Wörter. T
und F
können in einer reinen R-Sitzung eine Abkürzung für TRUE
und FALSE
, aber weder T
noch F
sind reserviert. Daher kann die Zuweisung von Nicht-Standardwerten zu diesen Namen zu Problemen führen.
Logische Operatoren
Es gibt zwei Arten von logischen Operatoren: solche, die Vektoren beliebiger Länge annehmen und zurückgeben (elementweise Operatoren: !
, |
, &
, xor()
) und diejenigen, die nur das erste Element in jedem Argument ( &&
, ||
) auswerten. Die zweite Sortierung wird hauptsächlich als cond
Argument für die if
Funktion verwendet.
Logischer Operator | Bedeutung | Syntax |
---|---|---|
! | Nicht | ! x |
& | elementweise (vektorisiert) und | x und y |
&& | und (nur ein Element) | x && y |
| | elementweise (vektorisiert) oder | x | y |
|| | oder (nur ein Element) | x || y |
xor | elementweise (vektorisiert) exklusives ODER | xor (x, y) |
Beachten Sie, dass der ||
Der Operator wertet die linke Bedingung aus und wenn die linke Bedingung TRUE ist, wird die rechte Seite niemals ausgewertet. Dies kann Zeit sparen, wenn die erste das Ergebnis einer komplexen Operation ist. Der Operator &&
gibt ebenfalls FALSE zurück, ohne das zweite Argument auszuwerten, wenn das erste Element des ersten Arguments FALSE ist.
> x <- 5
> x > 6 || stop("X is too small")
Error: X is too small
> x > 3 || stop("X is too small")
[1] TRUE
Um zu prüfen, ob ein Wert ein logischer Wert ist, können Sie die Funktion is.logical()
verwenden.
Zwang
Um eine Variable in eine logische Funktion zu zwingen, verwenden Sie die Funktion as.logical()
.
> x <- 2
> z <- x > 4
> z
[1] FALSE
> class(x)
[1] "numeric"
> as.logical(2)
[1] TRUE
Beim Anwenden von as.numeric()
auf ein Logisches wird ein Double zurückgegeben. NA
ist ein logischer Wert, und ein logischer Operator mit einer NA
gibt NA
wenn das Ergebnis mehrdeutig ist.
Interpretation von NAs
Weitere Informationen finden Sie unter Fehlende Werte .
> TRUE & NA
[1] NA
> FALSE & NA
[1] FALSE
> TRUE || NA
[1] TRUE
> FALSE || NA
[1] NA