Wat betekent na.rm=TRUE eigenlijk?

Telkens wanneer we NA in onze gegevens hebben, gebruikten we na.rm=TRUE om de juiste resultaten te krijgen voor gemiddelde, modus enz. Wat doet na.rm? Ik kon begrijpen dat rm voor verwijderen is, wat we zelfs gebruiken voor het verwijderen van variabelen. Maar waarom hebben we na in het klein geschreven? R is hoofdlettergevoelig? En wat doet de Booleaanse waarde TRUE hier?


Antwoord 1, autoriteit 100%

Argument na.rmgeeft een eenvoudige manier om ontbrekende waarden uit gegevens te verwijderen als ze zijn gecodeerd als NA. In basis R is de standaard standaardwaarde FALSE, wat betekent dat NA‘s niet worden verwijderd.

Beschouw de volgende vector met 2 elementen, waarvan één een ontbrekende waarde.

x <- c(1, NA)

Wat is nu de gemiddelde waarde?
Moeten we alle niet-ontbrekende waarden optellen en delen door de volledige lengte, 2? Of moeten we delen door de lengte na verwijderingvan NA‘s, slechts 1?

sum(x, na.rm = TRUE)/length(x)
#[1] 0.5
sum(x, na.rm = TRUE)/length(x[!is.na(x)])
#[1] 1

Als meanwordt gebruikt, wordt dit laatste berekend.

mean(x, na.rm = TRUE)
#[1] 1

Antwoord 2, autoriteit 50%

na.rmis een van de argumenten in een aantal functies (waarvan je enkele voorbeelden geeft). Om informatie te krijgen over de argumenten van een functie, voer je ?functionuit.

Bijvoorbeeld, met mean(), draaiend:

?mean

geeft u de informatie die u zoekt:

na.rm: een logische waarde die aangeeft of NA-waarden moeten worden verwijderd voordat de berekening verder gaat.

Door dit argument een logische waarde (TRUEof FALSE) te geven, kiest u of u de NA’s wilt strippen of niet tijdens het uitvoeren van de functie. De standaard (ook gegeven door de mean()documentatie) is FALSE.

En ja: R is hoofdlettergevoelig.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes