Hvordan å sammenligne verdier i logiske vektorer i R

January 7  by Eliza

Å bygge logiske vektorer i R, youâ € ™ d bedre vet hvordan å sammenligne verdier, og R inneholder et sett med operatører som du kan bruke til dette formålet.

Operatør Resultat
x == y Returnerer SANN hvis x nøyaktig lik y
x! = y Returnerer SANN hvis x er forskjellig fra y
x> y Returnerer SANN hvis x er større enn y
x> = y Returnerer SANN hvis x er større enn eller nøyaktig lik y
x <y Returnerer SANN hvis x er mindre enn y
x <= y Returnerer SANN hvis x er mindre enn eller nøyaktig lik y
x og y Returnerer resultatet av x og y
x | y Returnerer resultatet av x eller y
! x Returnerer ikke x
xor (x, y) Returnerer resultatet av x xor y (x eller y, men ikke x og y)

Alle disse aktørene er, igjen, vektorisert. Du kan sammenligne en hel vektor med en verdi.

La oss € ™ s anta at du har to vektorer som inneholder antall kurver som mormor og hennes venn Geraldine scoret i seks kamper i denne basketball sesongen:

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

I dette imaginære All-Star Grannies basketballkamp, ​​for å finne ut hvilke spill Granny scoret mer enn fem kurver i, kan du bare bruke denne koden:

> Baskets.of.Granny> 5
[1] TRUE FALSE FALSE TRUE TRUE FALSE

Du kan se at resultatet er de første, fjerde og femte spill. Dette eksempelet fungerer godt for små vektorer som dette, men hvis du har en veldig lang vektor, ville telle antall spill være en problemfri. For dette formålet, R tilbyr herlig som () -funksjonen. For å finne ut hvilke spill Granny scoret mer enn fem kurver i, kan du bruke følgende kode:

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

Med dette en linje med kode, du faktisk gjøre to forskjellige ting: For det første, du gjør en logisk vektor ved å sjekke hver verdi i vektoren for å se om ita € ™ s større enn fem. Da passerer du at vektoren til som () -funksjonen, som returnerer indeksene hvor verdien er TRUE.

Den som () funksjonen tar en logisk vektor som argument. Derfor kan du spare utfallet av en logisk vektor i et objekt og pass på at den som () -funksjonen, som i neste eksempel. Du kan også bruke alle disse operatørene å sammenligne vektorer verdi av verdi. Du kan enkelt finne ut spill der Geraldine scoret færre kurver enn Granny som dette:

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

Alltid sette mellomrom rundt mindre enn (<) og større enn (>) operatører. Ellers kan R feil x <-3 for oppdraget x <- 3. Forskjellen kan synes liten, men det har en stor innvirkning på resultatet.

Teknisk, du også kan bruke likhetstegn (=) som et oppdrag for å unngå dette problemet, men = også brukes til å tilordne verdier til argumenter i funksjoner. Generelt <- er den foretrukne måten å tilordne en verdi til et objekt, men ganske mange programmerere uenige. Så, ita € ™ s opp til deg. De fleste bruker <- i sitt arbeid.