R Language
Klasa logiczna
Szukaj…
Wprowadzenie
Logiczny jest trybem (i klasą niejawną) dla wektorów.
Uwagi
Stenografia
TRUE , FALSE i NA to jedyne wartości dla wektorów logicznych; a wszystkie trzy są słowami zastrzeżonymi. T i F mogą być skrótem dla TRUE i FALSE w czystej sesji R, ale ani T ani F nie są zarezerwowane, więc przypisanie wartościom innym niż domyślne do tych nazw może spowodować trudności użytkowników.
Operatory logiczne
Istnieją dwa rodzaje operatorów logicznych: te, które przyjmują i zwracają wektory dowolnej długości (operatory elementarne: ! , | , & , xor() ) oraz te, które oceniają tylko pierwszy element w każdym argumencie ( && , || ). Drugi rodzaj jest używany przede wszystkim jako argument cond funkcji if .
| Operator logiczny | Znaczenie | Składnia |
|---|---|---|
| ! | Nie | ! x |
| I | pod względem elementów (wektoryzacji) i | x i y |
| I & | i (tylko pojedynczy element) | x && y |
| | | pod względem elementów (wektoryzacji) lub | x | y |
| || | lub (tylko pojedynczy element) | x || y |
| Xor | wyłączne pod względem elementów (wektoryzacji) LUB | xor (x, y) |
Zauważ, że || operator ocenia lewy warunek, a jeśli lewy warunek ma wartość PRAWDA, prawa strona nigdy nie jest oceniana. To może zaoszczędzić czas, jeśli pierwszy jest wynikiem złożonej operacji. Operator && zwróci również FAŁSZ bez oceny drugiego argumentu, gdy pierwszym elementem pierwszego argumentu jest FAŁSZ.
> x <- 5
> x > 6 || stop("X is too small")
Error: X is too small
> x > 3 || stop("X is too small")
[1] TRUE
Aby sprawdzić, czy wartość jest logiczna, można użyć funkcji is.logical() .
Przymus
Aby przekonwertować zmienną na logiczną, użyj funkcji as.logical() .
> x <- 2
> z <- x > 4
> z
[1] FALSE
> class(x)
[1] "numeric"
> as.logical(2)
[1] TRUE
Przy zastosowaniu as.numeric() do logiki, zostanie zwrócone podwójne. NA jest wartością logiczną, a operator logiczny z NA zwróci NA jeśli wynik będzie niejednoznaczny.
Interpretacja NA
Zobacz szczegóły dotyczące brakujących wartości .
> TRUE & NA
[1] NA
> FALSE & NA
[1] FALSE
> TRUE || NA
[1] TRUE
> FALSE || NA
[1] NA