Zoeken…


Invoering

Logisch is een modus (en een impliciete klasse) voor vectoren.

Opmerkingen

steno

TRUE , FALSE en NA zijn de enige waarden voor logische vectoren; en alle drie zijn gereserveerde woorden. T en F kunnen steno zijn voor TRUE en FALSE in een schone R-sessie, maar noch T noch F zijn gereserveerd, dus toewijzing van niet-standaardwaarden aan die namen kan gebruikers in de problemen brengen.

Logische operatoren

Er zijn twee soorten logische operatoren: operatoren die vectoren van elke lengte accepteren en retourneren (operatoren in elementen: ! , | , & , xor() ) en operatoren die alleen het eerste element in elk argument evalueren ( && , || ). De tweede soort wordt voornamelijk gebruikt als het cond argument voor de if functie.

Logische operator Betekenis Syntaxis
! Niet !X
& element-gewijs (gevectoriseerd) en x & y
&& en (alleen een element) x && y
| element-gewijs (gevectoriseerd) of x | Y
|| of (alleen één element) x || Y
xor element-gewijs (gevectoriseerd) exclusief OF xor (x, y)

Merk op dat de || operator evalueert de linker voorwaarde en als de linker voorwaarde WAAR is, wordt de rechterkant nooit geëvalueerd. Dit kan tijd besparen als de eerste het resultaat is van een complexe bewerking. De operator && retourneert ook FALSE zonder evaluatie van het tweede argument wanneer het eerste element van het eerste argument FALSE is.

> x <- 5
> x > 6 || stop("X is too small")
Error: X is too small
> x > 3 || stop("X is too small")
[1] TRUE

Om te controleren of een waarde logisch is, kunt u de functie is.logical() .

Dwang

Gebruik de functie as.logical() om een variabele om te zetten in een logische.

> x <- 2
> z <- x > 4
> z
[1] FALSE
> class(x)
[1] "numeric"
> as.logical(2)
[1] TRUE

Wanneer as.numeric() op een logische wordt toegepast, wordt een dubbele waarde geretourneerd. NA is een logische waarde en een logische operator met een NA retourneert NA als de uitkomst dubbelzinnig is.

Interpretatie van NA's

Zie Ontbrekende waarden voor details.

> TRUE & NA
[1] NA
> FALSE & NA
[1] FALSE
> TRUE || NA
[1] TRUE
> FALSE || NA
[1] NA


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow