Hvordan Oppsummer Logiske vektorer i R

April 25  by Eliza

Hvis du bruker logiske verdier i regneoperasjoner, ser R TRUE som 1 og USANN som 0. Dette gir noen ganske interessante konstruksjoner.

For å illustrere, la oss 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)

Anta at du ønsker å vite hvor ofte Granny scoret mer enn Geraldine. Man kan bruke den numeriske oversettelse av en logisk vektor for dette formål i summen () -funksjonen, som følger:

> Sum (the.best)
[1] 3

Så, mormor var tre ganger bedre enn Geraldine. Granny rocks!

I tillegg har du en enkel måte å finne ut om noen verdi i en logisk vektor er SANN. Veldig praktisk, er funksjonen som utfører den oppgaven kalt noen (). Å spørre R om mormor var bedre enn Geraldine i noe spill, bruke denne koden:

> Noen (the.best)
[1] TRUE

Vi fortalte deg at Granny rocks! Vel, ok, er dette resultatet litt urettferdig for Geraldine, så du bør sjekke om mormor var bedre enn Geraldine i alle kampene. R-funksjonen du bruker til dette formålet kalles - surprise, surprise - alle (). For å finne ut om mormor var alltid bedre enn Geraldine, bruke følgende kode:

> Alle (the.best)
[1] FALSK

Likevel, Granny rocker litt.

Du kan bruke argumentet na.rm = TRUE i funksjonene alle () og noen () også. Som standard, begge funksjonene returnere NA hvis noen verdi i vektoren argumentet mangler.