Innholdsfortegnelse:
- Bruke uendelig
- Ikke et nummer.
- Hvis du vil teste om en verdi er NA, kan du bruke isen. na () -funksjonen, som følger: >> er. na (x) [1] SANT
- FALSE
Video: Is Reality Real? The Simulation Argument 2024
I noen tilfeller gjør du ikke Jeg har reelle verdier å beregne med. I de fleste virkelige datasettene i R mangler faktisk noen få verdier. Noen beregninger har også uendelighet som et resultat (for eksempel dividering med null) eller kan ikke utføres i det hele tatt (for eksempel å ta logaritmen av negativ verdi). Heldigvis kan R takle alle disse situasjonene.
Bruke uendelig
For å begynne å utforske uendelig i R, se hva som skjer når du prøver å dele nul:
R forteller deg at resultatet er Inf, eller uendelig. Negativ uendelighet vises som -Inf. Du kan bruk Inf akkurat som du bruker et reelt tall i beregninger: >> 4 - Inf [1] -Inf
For å sjekke om en verdi er endelig, bruk funksjonene er.finite () og er. uendelig (). Den første funksjonen returnerer TRUE hvis nummeret er endelig, den andre returnerer TRUE hvis nummeret er uendelig.
R ser alt som er større enn det største antallet en datamaskin kan holde for å være uendelig - på de fleste maskiner, det er omtrent 1. 8 × 10
308. Denne definisjonen av uendelig kan føre til uventede resultater, som vist i følgende eksempel: >> er. endelig (10 ^ (305: 310)) [1] SANT SANT SANT SANT FALSK FALSK Hva betyr denne linjen med kode nå? Se om du forstår hekker og vektorisering i dette eksemplet. Hvis du bryter opp linjen fra de indre parentesene, blir det forståelig:
Du vet allerede at 305: 310 gir deg en vektor som inneholder heltallene fra 305 til 310.
Alle operatørene er vektorisert, så 10 ^ (305: 310) gir deg en vektor med Resultatene fra 10 til kraften 305, 306, 307, 308, 309 og 310.
Den vektoren er gitt som argument for is. avgrenset(). Denne funksjonen forteller deg at de to siste resultatene - 10 ^ 309 og 10 ^ 310 - er uendelige for R.-
Håndtering av udefinerte resultater
-
Din matte lærer forklarte sannsynligvis at hvis du deler et virkelig tall ved uendelig, får du null. Men hva om du deler uendelig med uendelig? >> Inf / Inf [1] NaN
-
Vel, R forteller deg at utfallet er NaN. Resultatet betyr bare
Ikke et nummer.
Dette er Rs måte å fortelle deg at utfallet av denne beregningen ikke er definert.
Det morsomme er at R faktisk anser NaN å være numerisk, slik at du kan bruke NaN i beregninger. Resultatet av disse beregningene er alltid NaN, men som du ser her: >> NaN + 4 [1] NaN
Du kan teste om en beregning resulterer i NaN ved å bruke isen. nan () -funksjonen. Merk at begge er. endelig () og er. uendelig () returnere FALSE når du tester på en NaN-verdi. Håndtere manglende verdier Et av de vanligste problemene i statistikk er ufullstendige datasett. For å håndtere manglende verdier bruker R det reserverte søkeordet NA, som står for
Ikke tilgjengelig.
Du kan bruke NA som en gyldig verdi, så du kan også tildele den som en verdi: >> x <- nA
Du må imidlertid ta hensyn til beregningene med en verdi på NA returnerer også generelt NA som følger: >> x + 4 [1] NA> log (x) [1] NA
Hvis du vil teste om en verdi er NA, kan du bruke isen. na () -funksjonen, som følger: >> er. na (x) [1] SANT
Merk at det er. na () -funksjonen returnerer også TRUE hvis verdien er NaN. Funksjonene er. endelig (), er. uendelig (), og er. nan () returnerer FALSE for NA-verdier. Beregning av uendelige, udefinerte og manglende verdier Følgende tabell gir en oversikt over resultater fra funksjonene beskrevet ovenfor. Du er usannsynlig å bruke noen av disse bortsett fra er. na (), som du kan bruke ganske mye!
Funksjon
Inf
-Inf
NaN
NA
er. finite ()
FALSE
FALSE
FALSE | FALSE | er. uendelig () | true | true |
---|---|---|---|---|
FALSE | FALSE | er. nan () | FALSE | FALSE |
true | FALSE | er. na () | FALSE | FALSE |
true | true |