Innehållsförteckning:
- Hur R definierar oändligheten
- Inte ett nummer.
- Om du vill testa om ett värde är NA, kan du använda isen. na () funktionen, enligt följande: >> är. na (x) [1] SANT
Video: Gränsvärde 2024
Lyckligtvis kan R hantera dataanomalier som förvirrar några andra statistiska plattformar. I vissa fall har du inte reella värden att beräkna med. I de flesta verkliga dataset saknas faktiskt åtminstone några värden. Också vissa beräkningar har oändlighet som ett resultat (som att dividera med noll) eller kan inte alls utföras (som att ta logaritmen av ett negativt värde).
Hur R definierar oändligheten
För att börja undersöka oändligheten i R, se vad som händer när du försöker dela med noll: >> 2/0 [1] Inf
R berättar korrekt resultatet är Inf, eller oändligheten. Negativ oändlighet visas som -Inf. Du kan använda Inf precis som du använder ett reellt tal i beräkningarna: >> 4 - Inf [1] -Inf
För att kontrollera om ett värde är ändrat, använd funktionerna. ändlig () och är. oändlig(). Den första funktionen returnerar TRUE om numret är begränsat. den andra returnerar TRUE om numret är oändligt.
R anser allt större än det största antalet en dator kan hålla för att vara oändlig - på de flesta maskiner, det är ungefär 1. 8 × 10
308. Denna definition av oändlighet kan leda till oväntade resultat, som visas i följande exempel: >> är. ändlig (10 ^ (305: 310)) [1] SANT SANT SANT SANT FALSKT FALSKT Vad betyder den här koden med nu? Se om du förstår häckningen och vektoriseringen i det här exemplet. Om du bryter upp linjen från de inre parentesen blir det förståeligt:
Du vet redan att 305: 310 ger dig en vektor som innehåller heltal från 305 till 310.
Alla operatörer är vektoriserade, så 10 ^ (305: 310) ger dig en vektor med resultaten från 10 till kraften 305, 306, 307, 308, 309 och 310.
Den vektorn ges som ett argument för is. ändlig(). Den funktionen berättar att de två sista resultaten - 10 ^ 308 och 10 ^ 309 - är oändliga för R.-
Hur R hanterar odefinierade resultat
-
Din matte lärare förklarade förmodligen att om du delar upp ett verkligt tal genom oändlighet, du får noll. Men vad händer om du delar oändlighet genom oändlighet? >> Inf / Inf [1] NaN
-
Tja, R berättar att resultatet är NaN. Resultatet betyder helt enkelt
Inte ett nummer.
Det här är R: s sätt att berätta att resultatet av den beräkningen inte är definierad.
Det roliga är att R faktiskt anser att NaN är numerisk, så att du kan använda NaN i beräkningar. Resultatet av dessa beräkningar är alltid NaN, men som du ser här: >> NaN + 4 [1] NaN
Du kan testa om en beräkning resulterar i NaN genom att använda isen.nan () -funktionen. Observera att båda är. ändlig () och är. oändlig () returnera FALSE när du testar på ett NaN-värde. Hur R klarar av saknade värden Ett av de vanligaste problemen i statistiken är ofullständiga dataset. För att hantera saknade värden använder R det reserverade sökordet NA, vilket står för
Ej tillgängligt.
Du kan använda NA som ett giltigt värde, så du kan också ange det som ett värde: >> x <- nA
Du måste dock beakta att beräkningarna med ett värde av NA returnerar också vanligtvis NA som ett resultat: >> x + 4 [1] NA> log (x) [1] NA
Om du vill testa om ett värde är NA, kan du använda isen. na () funktionen, enligt följande: >> är. na (x) [1] SANT
Observera att det är. na () -funktionen returnerar också TRUE om värdet är NaN. Funktionerna är. ändlig (), är. oändlig () och är. nan () returnerar FALSE för NA-värden. Funktion Inf
-INF
NaN
NA
är. ändlig ()
FALSE
FALSE
FALSE | FALSE | är. oändlig () | SANT | SANT |
---|---|---|---|---|
FALSE | FALSE | är. nan () | FALSE | FALSE |
SANT | FALSE | är. na () | FALSE | FALSE |
SANT | SANT |
|