Hoe om te Vergelijken Waarden in Logical vectoren in R

Om logische vectoren in R, youâ € ™ d bouwen beter weten hoe om te vergelijken waarden en R bevat een set van operatoren die u kunt gebruiken voor dit doel.

Operator Resultaat
x == y Geeft TRUE als x precies gelijk is aan y
x! = y Geeft TRUE als x afwijkt van y
x> y Geeft TRUE als x groter is dan y
x> = y Geeft TRUE als x groter of precies gelijk aan y
x <y Geeft TRUE als x kleiner is dan y
x <= y Geeft TRUE als x kleiner of exact gelijk aan y
x en y Geeft het resultaat van x en y
x | y Geeft het resultaat van x of y
! X Keert niet x
xor (x, y) Geeft het resultaat van x xor y (x of y maar niet x en y)

Al deze operatoren zijn, nogmaals, gevectoriseerd. U kunt een hele vector vergelijken met een waarde.

Letâ € ™ s gaan ervan uit dat je twee vectoren die het aantal manden dat oma en haar vriend Geraldine scoorde in de zes wedstrijden van dit basketbal seizoen:

> Baskets.of.Granny <- c (12,4,4,6,9,3)
> Baskets.of.Geraldine <- c (5,3,2,2,12,9)

In deze denkbeeldige All-Star Grannies basketbal spel, om erachter te komen welke spellen Granny scoorde meer dan vijf manden in, u kunt gewoon gebruik maken van deze code:

> Baskets.of.Granny> 5
[1] true false false true true false

U ziet dat het resultaat de eerste, vierde en vijfde spelletjes. Dit voorbeeld werkt goed voor kleine vectoren zoals deze, maar als je een zeer lange vector, het tellen van het aantal games zou een gedoe. Voor dat doel, R biedt de verrukkelijke die () functie. Om erachter te komen welke spellen Granny scoorde meer dan vijf manden, kunt u de volgende code gebruiken:

> Die (baskets.of.Granny> 5)
[1] 1 4 5

Met deze ene regel code, die u eigenlijk twee verschillende dingen: Ten eerste moet je een logische vector maken door controle van elke waarde in de vector om te zien of ita € ™ s groter is dan vijf. Dan is dat vector aan je voorbij aan de welke () functie, die de indices waarbij de waarde TRUE terug.

De die () functie neemt een logische vector als argument. Daarom kunt u het resultaat van een logische vector opslaan in een object en geef dat aan de die () functie, zoals in het volgende voorbeeld. U kunt ook al deze operatoren gebruiken om vectoren waarde vergelijken met waarde. U kunt eenvoudig de wedstrijden, waarin Geraldine scoorde minder manden dan Granny als volgt uit:

> The.best <- baskets.of.Geraldine <baskets.of.Granny
> Die (the.best)
[1] 1 3 4

Doe altijd ruimten rond het kleiner dan (<) en groter dan (>) operators. Anders kan R fout x <-3 de opdracht x <- 3. Het verschil lijkt klein, maar het heeft een grote invloed op het resultaat.

Technisch, kunt u ook de gelijk-teken (=) als een opdracht om dit probleem te voorkomen gebruiken, maar = wordt ook gebruikt om waarden te argumenten wijzen in functies. In het algemeen <- is de beste manier om een ​​waarde aan een object toe te wijzen, maar een flink aantal coders oneens. Dus, ita € ™ s aan jou. De meeste gebruiken <- in hun werk.