Indholdsfortegnelse:
- Brug af uendelig
- Ikke et nummer.
- Hvis du vil teste om en værdi er NA, kan du bruge isen. na () funktion, som følger: >> er. na (x) [1] SAND
- FALSK
Video: Is Reality Real? The Simulation Argument 2025
I nogle tilfælde gør du ikke har ikke reelle værdier at beregne med. I de fleste virkelige datasæt i R mangler der faktisk i det mindste nogle få værdier. Derudover har nogle beregninger uendelig som følge heraf (som f.eks. opdeling med nul) eller kan ikke udføres overhovedet (for eksempel at tage logaritmen af negativ værdi). Heldigvis kan R behandle alle disse situationer.
Brug af uendelig
For at begynde at undersøge uendelig i R, se hvad der sker, når du forsøger at opdele nul:
R fortæller dig, at resultatet er Inf eller uendeligt. Negativ uendelighed vises som -Inf. Du kan Brug Inf, ligesom du bruger et rigtigt tal i beregninger: >> 4 - Inf [1] -Inf
For at kontrollere, om en værdi er endelig, skal funktionerne være.finite () og er. uendelig (). Den første funktion returnerer TRUE, hvis nummeret er begrænset, den anden returnerer TRUE hvis nummeret er uendeligt.
R betragter alt større end det største antal en computer kan holde for at være uendelig - på de fleste maskiner, der er ca. 1. 8 × 10
308. Denne definition af uendelighed kan føre til uventede resultater, som vist i følgende eksempel: >> er. endelig (10 ^ (305: 310)) [1] SAND SAND SAND SAND FALSK FALSK Hvad betyder denne linje med kode nu? Se om du forstår nestingen og vektoriseringen i dette eksempel. Hvis du bryder op linjen ud fra de indre parenteser, bliver det forståeligt:
Du ved allerede, at 305: 310 giver dig en vektor, der indeholder heltalene fra 305 til 310.
Alle operatører er vektoriseret, så 10 ^ (305: 310) giver dig en vektor med Resultaterne fra 10 til kraften 305, 306, 307, 308, 309 og 310.
Denne vektor er givet som et argument for is. begrænset(). Denne funktion fortæller dig, at de to sidste resultater - 10 ^ 309 og 10 ^ 310 - er uendelige til R.-
Håndtering af udefinerede resultater
-
Din matematiklærer forklarede sandsynligvis, at hvis du deler et ægte tal ved uendelighed, får du nul. Men hvad nu hvis du deler uendelighed med uendelighed? >> Inf / Inf [1] NaN
-
Nå, R fortæller dig, at resultatet er NaN. Dette resultat betyder simpelthen
Ikke et nummer.
Dette er Rs måde at fortælle dig, at resultatet af denne beregning ikke er defineret.
Det sjove er, at R faktisk finder NaN at være numerisk, så du kan bruge NaN i beregninger. Resultatet af disse beregninger er imidlertid altid NaN, som du ser her: >> NaN + 4 [1] NaN
Du kan teste om en beregning resulterer i NaN ved at bruge isen. nan () funktion. Bemærk at begge er. endelig () og er. uendelig () returnere FALSE, når du tester på en NaN-værdi. Håndtering af manglende værdier Et af de mest almindelige problemer i statistikken er ufuldstændige datasæt. For at håndtere manglende værdier bruger R det reserverede søgeord NA, som står for
Ikke tilgængelig.
Du kan bruge NA som en gyldig værdi, så du kan også tildele det som en værdi: >> x <- nA
Du skal dog tage højde for, at beregningerne med en værdi af NA returnerer også generelt NA som følger: >> x + 4 [1] NA> log (x) [1] NA
Hvis du vil teste om en værdi er NA, kan du bruge isen. na () funktion, som følger: >> er. na (x) [1] SAND
Bemærk, at det er. na () -funktionen returnerer også TRUE, hvis værdien er NaN. Funktionerne er. endelig (), er. uendelig () og er. nan () returnerer FALSE for NA værdier. Beregning af uendelige, udefinerede og manglende værdier Følgende tabel giver et overblik over resultaterne fra de ovenfor beskrevne funktioner. Du er usandsynligt at bruge nogen af disse undtagen er. na (), som du måske bruger en hel del!
Funktion
Inf
-Inf
NaN
NA
er. finite ()
FALSK
FALSK
FALSK | FALSK | er. uendelig () | SAND | SAND |
---|---|---|---|---|
FALSK | FALSK | er. nan () | FALSK | FALSK |
SAND | FALSK | er. na () | FALSK | FALSK |
SAND | SAND |