Inhoudsopgave:
- Hoe R oneindig definieert
- Geen getal.
- Als u wilt testen of een waarde NA is, kunt u de is gebruiken. na () functie, als volgt: >> is. na (x) [1] TRUE
Video: Meteor: a better way to build apps by Roger Zurawicki 2024
Gelukkig kan R omgaan met gegevensanomalieën die sommige andere statistische platforms verstoren. In sommige gevallen hebt u bijvoorbeeld geen echte waarden om mee te rekenen. In de meeste echte datasets ontbreken in feite ten minste enkele waarden. Sommige berekeningen hebben ook een oneindig resultaat (zoals delen door nul) of kunnen helemaal niet worden uitgevoerd (zoals het nemen van de logaritme van een negatieve waarde).
Hoe R oneindig definieert
Om te beginnen met het verkennen van het oneindige in R, kijk je wat er gebeurt als je probeert te delen door nul: >> 2/0 [1] Inf
R vertelt je correct dat het resultaat Inf is, of oneindig. Negatieve oneindigheid wordt weergegeven als -Inf. U kunt Inf gebruiken net zoals u een reëel getal gebruikt in berekeningen: >> 4 - Inf [1] -Inf
Gebruik de volgende functies om te controleren of een waarde eindig is. eindig () en is. eindeloos(). De eerste functie geeft WAAR terug als het getal eindig is; de tweede geeft WAAR terug als het getal oneindig is.
R beschouwt alles dat groter is dan het grootste aantal dat een computer kan bevatten als oneindig - op de meeste machines is dat ongeveer 1. 8 × 10
308. Deze definitie van oneindig kan tot onverwachte resultaten leiden, zoals in het volgende voorbeeld: >> is. finite (10 ^ (305: 310)) [1] TRUE TRUE TRUE TRUE FALSE FALSE Wat betekent deze coderegel nu? Kijk of u de nesting en vectorisatie in dit voorbeeld begrijpt. Als je de lijn opbreekt, te beginnen met de haakjes aan de binnenkant, wordt deze begrijpelijk:
Je weet al dat 305: 310 je een vector geeft, die de gehele getallen bevat van 305 tot 310.
Alle operatoren zijn gevectoriseerd, dus 10 ^ (305: 310) geeft je een vector met de resultaten van 10 tot de macht van 305, 306, 307, 308, 309 en 310.
Die vector wordt gegeven als een argument voor is. eindige (). Die functie vertelt je dat de laatste twee resultaten - 10 ^ 308 en 10 ^ 309 - oneindig zijn voor R.-
Hoe R omgaat met ongedefinieerde uitkomsten
-
Je wiskundeleraar heeft waarschijnlijk uitgelegd dat als je een reëel getal deelt door oneindig, je krijgt nul. Maar wat als je oneindigheid door oneindigheid verdeelt? >> Inf / Inf [1] NaN
-
Nou, R zegt dat de uitkomst NaN is. Dat resultaat betekent eenvoudig
Geen getal.
Dit is de manier van R om u te vertellen dat de uitkomst van die berekening niet is gedefinieerd.
Het grappige is dat R feitelijk vindt dat NaN numeriek is, dus je kunt NaN gebruiken in berekeningen. De uitkomst van die berekeningen is altijd NaN, zoals je hier ziet: >> NaN + 4 [1] NaN
Je kunt testen of een berekening resulteert in NaN door de is te gebruiken.functie nan (). Merk op dat beide is. eindig () en is. oneindig () return FALSE wanneer u aan het testen bent op een NaN-waarde. Hoe R omgaat met ontbrekende waarden Een van de meest voorkomende problemen bij statistieken zijn onvolledige gegevenssets. Om om te gaan met ontbrekende waarden, gebruikt R het gereserveerde sleutelwoord NA, wat staat voor
Niet beschikbaar.
U kunt NA als geldige waarde gebruiken, zodat u het ook als waarde kunt toewijzen: >> x <- nA
U moet echter rekening houden met berekeningen met een NA-waarde retourneert ook in het algemeen NA als resultaat: >> x + 4 [1] NA> log (x) [1] NA
Als u wilt testen of een waarde NA is, kunt u de is gebruiken. na () functie, als volgt: >> is. na (x) [1] TRUE
Merk op dat het is. De functie na () retourneert ook TRUE als de waarde NaN is. De functies zijn. eindig (), is. oneindig (), en is. nan () return FALSE voor NA-waarden. Functie Inf
-Inf
NaN
NA
is. eindige ()
FALSE
FALSE
FALSE | FALSE | is. oneindig () | true | true |
---|---|---|---|---|
FALSE | FALSE | is. nan () | FALSE | FALSE |
true | FALSE | is. na () | FALSE | FALSE |
true | true |
|