na.rm gebruiken om ontbrekende waarden in R te verwerken
We zetten na.rm = TRUE in veelgebruikte R-functies om ontbrekende (NA) waarden uit te sluiten. Zo berekenen we nauwkeurige statistieken en vergroten we de betrouwbaarheid van onze resultaten.
Data wordt in een razend tempo gegenereerd en geconsumeerd om belangrijke bedrijfsbeslissingen te ondersteunen. Een veelvoorkomende uitdaging bij data-analyse is echter de aanwezigheid van ontbrekende waarden. Die kunnen resultaten vertekenen, waardoor elke data-analist ze effectief moet afhandelen. In R is een van de basistools voor het beheren van ontbrekende waarden de parameter na.rm.
Deze post legt het belang uit van het omgaan met ontbrekende data, hoe na.rm in R werkt, laat het gebruik in verschillende functies zien en sluit af met alternatieve technieken om ontbrekende data te identificeren en te verwerken.
Het korte antwoord: wat is na.rm?
De parameter na.rm in R staat voor "NA remove" en negeert NA- (ontbrekende) waarden tijdens berekeningen. Door na.rm = TRUE te zetten, berekenen functies zoals mean(), sum(), min(), max(), median() en sd() resultaten zonder beïnvloed te worden door ontbrekende waarden.
De parameter na.rm, in kleine letters geschreven, neemt een booleaanse waarde aan—TRUE of FALSE. Als we na.rm = TRUE instellen, sluit R NA-waarden uit van de berekeningen. Zonder deze parameter zouden functies NA retourneren als er ontbrekende waarden in de data zitten. Kijk maar.
vector_with_na <- c(1,2,NA)
sum(vector_with_na, na.rm =TRUE)# removes NA values — returns 3
sum(vector_with_na)# includes NA values — returns NA
sum(vector_with_na, na.rm =FALSE)# includes NA values — returns NAMogelijk gemaakt door
Bekijk de cursus Introduction to R voor meer over basis R-programmeren.
Waarom na.rm gebruiken?
Het afhandelen van ontbrekende waarden is cruciaal in data-analyse om nauwkeurige resultaten te garanderen, omdat ze statistische berekeningen aanzienlijk kunnen beïnvloeden en zo onbedoeld tot verkeerde conclusies kunnen leiden. Met na.rm kun je gemakkelijk fouten vermijden door deze ontbrekende waarden over te slaan, waardoor je betrouwbare berekeningen uitvoert en de dataintegriteit bewaart.
De cursus Data Cleaning in R is waardevol om onze data-analysevaardigheden verder te ontwikkelen.
Veelgebruikte functies met na.rm: praktische voorbeelden
Laten we nu begrijpen hoe je na.rm in R gebruikt. Verschillende R-functies bevatten de parameter na.rm (standaard ingesteld op FALSE). Dit zijn enkele veelvoorkomende voorbeelden:
sum()
Zoals de naam al aangeeft, berekent sum() de som van de waarden in een vector. Laten we een vector maken met de naam vector_with_na, die we in deze tutorial blijven gebruiken.
vector_with_na <- c(1,2,NA,4)
sum(vector_with_na)# Returns NA
sum(vector_with_na, na.rm =TRUE)# Returns 7Mogelijk gemaakt door
mean()
Met hetzelfde voorbeeld berekent de functie mean() het gemiddelde van de waarden in onze vector.
mean(vector_with_na)# Returns NA
mean(vector_with_na, na.rm =TRUE)# Returns 2.33Mogelijk gemaakt door
sd()
Met vector_with_na gaat sd() de standaarddeviatie van de vector berekenen.
sd(vector_with_na)# Returns NA
sd(vector_with_na, na.rm =TRUE)# Returns 1.53Mogelijk gemaakt door
min()
min() vindt de kleinste waarde.
min(vector_with_na)# Returns NA
min(vector_with_na, na.rm =TRUE)# Returns 1Mogelijk gemaakt door
max()
max() vindt de grootste waarde.
max(vector_with_na)# Returns NA
max(vector_with_na, na.rm =TRUE)# Returns 4Mogelijk gemaakt door
median()
median() vindt de middelste waarde wanneer de waarden op volgorde staan.
median(vector_with_na)# Returns NA
median(vector_with_na, na.rm =TRUE)# Returns 2Mogelijk gemaakt door
Let op: als na.rm = TRUE ontbreekt, retourneren al deze aggregatiefuncties NA.
Door na.rm = TRUE in te stellen, sluiten deze functies NA-waarden uit, wat leidt tot nauwkeurige en betekenisvolle berekeningen. De skill track R Programming Fundamentals is een goede bron om het gebruik en de syntaxis van deze functies beter te begrijpen.
Ontbrekende waarden verwerken in verschillende datastructuren
Laten we bekijken hoe je ontbrekende waarden in verschillende datastructuren verwerkt. Wil je meer leren over R-datastructuren voordat we verdergaan? Lees dan onze tutorial Mastering Data Structures in the R Programming Language.
Vectoren
In vectoren kun je na.rm direct in functies gebruiken om ontbrekende waarden uit te sluiten. De voorbeelden in de vorige sectie laten allemaal na.rm in actie zien op vectoren.
Data frames
Voor data frames kan na.rm worden toegepast binnen functies op specifieke kolommen of over rijen met behulp van apply(), zoals hieronder getoond:
MARGIN: argument om aan te geven waar de functie moet worden toegepast:
MARGIN=1 voor rijbewerkingen
MARGIN=2 voor kolombewerkingen
MARGIN=c(1,2) voor zowel rij- als kolombewerkingen
FUN: geeft aan welke functie wordt toegepast. Ingebouwde functies zoals mean(), median(), sum(), min(), max() en zelfgeschreven functies kunnen worden toegepast.
Laten we een data frame maken dat we in deze tutorial blijven gebruiken.
dataframe_with_na <- data.frame(col1 = c(1,NA,3,6), col2 = c(4,5,NA,7))
print(dataframe_with_na)# Returns# col1 col2# 1 1 4# 2 NA 5# 3 3 NA# 4 6 7
apply(dataframe_with_na,1, mean)# Returns# [1] 2.5 NA NA 6.5
apply(dataframe_with_na,1, mean, na.rm =TRUE)# Returns# [1] 2.5 5.0 3.0 6.5
apply(dataframe_with_na,2, mean)# Returns# col1 col2 # NA NA
apply(dataframe_with_na,2, mean, na.rm =TRUE)# Returns # col1 col2 # 3.333333 5.333333Mogelijk gemaakt door
Lijsten
De functie lapply() in R wordt gebruikt om een opgegeven functie toe te passen op elk element van een lijst, vector of data frame en retourneert een lijst van dezelfde lengte. Deze functie heeft geen MARGIN-parameter nodig, omdat de bewerking automatisch op alle elementen wordt toegepast.
vector_with_na: de invoerlijst, -vector of het data frame.
fun: de functie die op elk element van de inputdata wordt toegepast.
Laten we lapply() begrijpen met een lijstvoorbeeld. We hebben een lijst met collecties (item_1 en item_2) met elementen die lijken op het data frame (dataframe_with_na). Ons doel is het gemiddelde van elke collectie te vinden.
list_with_na <- list(item_1=c(1,NA,3,6), item_2=c(4,5,NA,7))
lapply(list_with_na, mean)# Returns# $item_1# [1] NA# # $item_2# [1] NA
lapply(list_with_na, mean, na.rm =TRUE)# Returns# $item_1# [1] 3.333333# # $item_2# [1] 5.333333Mogelijk gemaakt door
De functie sapply() lijkt op lapply(), maar retourneert een array of matrix in plaats van een lijst. Laten we de lijst (list_with_na) en sapply() gebruiken om het gemiddelde van de waarden van elke collectie erin te berekenen.
sapply(list_with_na, mean)# Returns# a b # NA NA
sapply(list_with_na, mean, na.rm =TRUE)# Returns# a b # 3.333333 5.333333Mogelijk gemaakt door
Nu gebruiken we het data frame (dataframe_with_na) en sapply() om de som van de waarden van elke kolom te berekenen.
sapply(dataframe_with_na, sum)# Returns# col1 col2 # NA NA
sapply(dataframe_with_na, sum, na.rm=TRUE)# Returns# col1 col2 # 10 16Mogelijk gemaakt door
complete.cases(): complete.cases() daarentegen identificeert rijen zonder NA-waarden en retourneert een bool die overeenkomt met elke rij (FALSE voor rijen met NA en andersom). Dit kan worden gebruikt om de niet-ontbrekende waarden in het data frame te filteren, zoals hieronder weergegeven.
complete.cases(dataframe_with_na)# Returns# [1] TRUE FALSE FALSE TRUE
dataframe_with_na[complete.cases(dataframe_with_na),]# Returns# col1 col2# 1 1 4# 4 6 7Mogelijk gemaakt door
Geavanceerde technieken voor het verwerken van ontbrekende waarden
Naast na.rm biedt R geavanceerde methoden om met ontbrekende data om te gaan:
Met is.na() ontbrekende waarden identificeren
is.na() kan direct op een vector of data frame worden toegepast om ontbrekende data te identificeren. Het retourneert een TRUE voor elke ontbrekende waarde.
Interessant genoeg verschilt de functie summary() van het gebruik van na.rm voor het verwerken van ontbrekende waarden. Standaard sluit summary() ontbrekende waarden automatisch uit bij het berekenen van samenvattende statistieken en rapporteert vervolgens het aantal aanwezige NA's in de data.
Laten we summary() uitvoeren op de vector vector_with_na:
summary(vector_with_na)#Returns# Min. 1st Qu. Median Mean 3rd Qu. Max. NA's # 1.000 1.500 2.000 2.333 3.000 4.000 1Mogelijk gemaakt door
En op het data frame dataframe_with_na:
summary(dataframe_with_na)# Returns# col1 col2 # Min. :1.00 Min. :4.00 # 1st Qu.:2.50 1st Qu.:4.75 # Median :3.00 Median :5.00 # Mean :3.25 Mean :5.25 # 3rd Qu.:3.75 3rd Qu.:5.50 # Max. :6.00 Max. :7.00 Mogelijk gemaakt door
De cursus Intermediate R biedt diepgaande inzichten voor wie geïnteresseerd is in meer geavanceerde technieken voor gegevensverwerking.
Best practices voor het verwerken van ontbrekende waarden
Ontbrekende waarden effectief verwerken omvat een aantal best practices:
Controleer altijd op ontbrekende waarden
Identificeer en begrijp de omvang van ontbrekende data voordat je berekeningen uitvoert. In het onderstaande voorbeeld zie je dat het data frame in totaal 2 ontbrekende waarden heeft.
print(dataframe_with_na)# Returns# col1 col2# 1 1 4# 2 NA 5# 3 3 NA# 4 6 7
sum(is.na(dataframe_with_na))# Returns# [1] 2Mogelijk gemaakt door
Gebruik conditionele controles
Controleer altijd of er ontbrekende data aanwezig is en pas vervolgens eventuele imputatietechnieken toe, zodat alle randgevallen goed worden afgehandeld.
Begrijp waarom data ontbreekt en kies een passende methode om dit te verwerken—verwijderen of imputeren.
Voor een gestructureerde aanpak van data-analyse en het omgaan met ontbrekende waarden kan de cursus Data Cleaning in Reen geweldige bron zijn.
Conclusie
Het begrijpen en gebruiken van na.rm is essentieel om betrouwbare en nauwkeurige data-analyse te garanderen. Oefen met na.rm in R-projecten en verken geavanceerde technieken om ontbrekende data volledig te verwerken.
Wil je verder leren? Bekijk dan deze aanvullende bronnen:
Data Cleaning: verbeter je data-analysevaardigheden met onze cursus Data Cleaning in R.
Introduction to R: begin met programmeren in R met onzeIntroduction to R-cursus.
Ik ben een AI-strateeg en -ethicus die op het snijvlak van data science, product en engineering werkt aan schaalbare machinelearningsystemen. Genoteerd als een van de "Top 200 Business and Technology Innovators" ter wereld, heb ik als missie machine learning te democratiseren en het jargon te doorbreken, zodat iedereen deel kan uitmaken van deze transformatie.
Veelgestelde vragen
Wat is de parameter na.rm in R?⌄
De parameter na.rm in R staat voor "NA remove". Als deze op TRUE staat, instrueert hij functies om NA- (ontbrekende) waarden tijdens berekeningen te negeren, zodat de resultaten kloppen.
Hoe gebruik je na.rm in veelvoorkomende R-functies?⌄
Je kunt na.rm gebruiken in functies zoals sum(), mean(), sd(), min(), max() en median() door na.rm = TRUE in te stellen om ontbrekende waarden uit te sluiten bij de berekening.
Waarom is het belangrijk om ontbrekende waarden te verwerken in data-analyse?⌄
Ontbrekende waarden kunnen resultaten vertekenen en tot onjuiste conclusies leiden. Ze effectief verwerken zorgt voor betrouwbare berekeningen en behoudt de dataintegriteit.
Kun je na.rm gebruiken met data frames en lijsten in R?⌄
Ja, na.rm kan worden gebruikt met data frames via functies zoals apply(), en met lijsten via lapply() en sapply(), om ontbrekende waarden uit te sluiten tijdens bewerkingen op deze datastructuren.
Wat zijn geavanceerde technieken om ontbrekende waarden in R te verwerken?⌄
Naast na.rm zijn er geavanceerde technieken zoals is.na() om ontbrekende waarden te identificeren, imputatiemethoden om ze te vervangen, en functies als na.omit() en complete.cases() voor complexere datacleaning.
Data wordt in een razend tempo gegenereerd en geconsumeerd om belangrijke bedrijfsbeslissingen te ondersteunen. Een veelvoorkomende uitdaging bij data-analyse is echter de aanwezigheid van ontbrekende waarden. Die kunnen resultaten vertekenen, waardoor elke data-analist ze effectief moet afhandelen. In R is een van de basistools voor het beheren van ontbrekende waarden de parameter
na.rm.Deze post legt het belang uit van het omgaan met ontbrekende data, hoe
na.rmin R werkt, laat het gebruik in verschillende functies zien en sluit af met alternatieve technieken om ontbrekende data te identificeren en te verwerken.Het korte antwoord: wat is na.rm?
De parameter
na.rmin R staat voor "NA remove" en negeertNA- (ontbrekende) waarden tijdens berekeningen. Doorna.rm = TRUEte zetten, berekenen functies zoalsmean(),sum(),min(),max(),median()ensd()resultaten zonder beïnvloed te worden door ontbrekende waarden.De parameter
na.rm, in kleine letters geschreven, neemt een booleaanse waarde aan—TRUEofFALSE. Als wena.rm = TRUEinstellen, sluit RNA-waarden uit van de berekeningen. Zonder deze parameter zouden functiesNAretourneren als er ontbrekende waarden in de data zitten. Kijk maar.Bekijk de cursus Introduction to R voor meer over basis R-programmeren.
Waarom na.rm gebruiken?
Het afhandelen van ontbrekende waarden is cruciaal in data-analyse om nauwkeurige resultaten te garanderen, omdat ze statistische berekeningen aanzienlijk kunnen beïnvloeden en zo onbedoeld tot verkeerde conclusies kunnen leiden. Met
na.rmkun je gemakkelijk fouten vermijden door deze ontbrekende waarden over te slaan, waardoor je betrouwbare berekeningen uitvoert en de dataintegriteit bewaart.De cursus Data Cleaning in R is waardevol om onze data-analysevaardigheden verder te ontwikkelen.
Veelgebruikte functies met na.rm: praktische voorbeelden
Laten we nu begrijpen hoe je
na.rmin R gebruikt. Verschillende R-functies bevatten de parameterna.rm(standaard ingesteld opFALSE). Dit zijn enkele veelvoorkomende voorbeelden:sum()
Zoals de naam al aangeeft, berekent
sum()de som van de waarden in een vector. Laten we een vector maken met de naamvector_with_na, die we in deze tutorial blijven gebruiken.mean()
Met hetzelfde voorbeeld berekent de functie
mean()het gemiddelde van de waarden in onze vector.sd()
Met
vector_with_nagaatsd()de standaarddeviatie van de vector berekenen.min()
min()vindt de kleinste waarde.max()
max()vindt de grootste waarde.median()
median()vindt de middelste waarde wanneer de waarden op volgorde staan.Let op: als
na.rm = TRUEontbreekt, retourneren al deze aggregatiefunctiesNA.Door
na.rm = TRUEin te stellen, sluiten deze functiesNA-waarden uit, wat leidt tot nauwkeurige en betekenisvolle berekeningen. De skill track R Programming Fundamentals is een goede bron om het gebruik en de syntaxis van deze functies beter te begrijpen.Ontbrekende waarden verwerken in verschillende datastructuren
Laten we bekijken hoe je ontbrekende waarden in verschillende datastructuren verwerkt. Wil je meer leren over R-datastructuren voordat we verdergaan? Lees dan onze tutorial Mastering Data Structures in the R Programming Language.
Vectoren
In vectoren kun je
na.rmdirect in functies gebruiken om ontbrekende waarden uit te sluiten. De voorbeelden in de vorige sectie laten allemaalna.rmin actie zien op vectoren.Data frames
Voor data frames kan
na.rmworden toegepast binnen functies op specifieke kolommen of over rijen met behulp vanapply(), zoals hieronder getoond:Hierbij geldt:
X: een array, data frame of matrixMARGIN: argument om aan te geven waar de functie moet worden toegepast:MARGIN=1voor rijbewerkingenMARGIN=2voor kolombewerkingenMARGIN=c(1,2)voor zowel rij- als kolombewerkingenFUN: geeft aan welke functie wordt toegepast. Ingebouwde functies zoalsmean(),median(),sum(),min(),max()en zelfgeschreven functies kunnen worden toegepast.Laten we een data frame maken dat we in deze tutorial blijven gebruiken.
Lijsten
De functie
lapply()in R wordt gebruikt om een opgegeven functie toe te passen op elk element van een lijst, vector of data frame en retourneert een lijst van dezelfde lengte. Deze functie heeft geenMARGIN-parameter nodig, omdat de bewerking automatisch op alle elementen wordt toegepast.Syntaxis:
Hierbij geldt:
: de invoerlijst, -vector of het data frame.vector_with_nafun: de functie die op elk element van de inputdata wordt toegepast.Laten we
lapply()begrijpen met een lijstvoorbeeld. We hebben een lijst met collecties (item_1enitem_2) met elementen die lijken op het data frame (dataframe_with_na). Ons doel is het gemiddelde van elke collectie te vinden.De functie
sapply()lijkt oplapply(), maar retourneert een array of matrix in plaats van een lijst. Laten we de lijst (list_with_na) ensapply()gebruiken om het gemiddelde van de waarden van elke collectie erin te berekenen.Nu gebruiken we het data frame (
dataframe_with_na) ensapply()om de som van de waarden van elke kolom te berekenen.Voor een bredere kijk op datamanipulatie in R is de cursus Data Manipulation with dplyr sterk aan te raden. Als je je juist onzeker voelt over de apply()-familie van functies, lees dan onze Tutorial on the R Apply Family.
Vergelijking met na.omit() en complete.cases()
na.omit(): deze functie verwijdert alle rijen metNA-waarden in een data frame. Begrijp dit met een voorbeeld:complete.cases():complete.cases()daarentegen identificeert rijen zonderNA-waarden en retourneert een bool die overeenkomt met elke rij (FALSEvoor rijen metNAen andersom). Dit kan worden gebruikt om de niet-ontbrekende waarden in het data frame te filteren, zoals hieronder weergegeven.Geavanceerde technieken voor het verwerken van ontbrekende waarden
Naast
na.rmbiedt R geavanceerde methoden om met ontbrekende data om te gaan:Met is.na() ontbrekende waarden identificeren
is.na()kan direct op een vector of data frame worden toegepast om ontbrekende data te identificeren. Het retourneert eenTRUEvoor elke ontbrekende waarde.Imputatiemethoden toepassen
Imputatie vervangt ontbrekende waarden door geschatte waarden, zoals het gemiddelde of de mediaan, zoals hieronder getoond:
De functie summary() gebruiken
Interessant genoeg verschilt de functie
summary()van het gebruik vanna.rmvoor het verwerken van ontbrekende waarden. Standaard sluitsummary()ontbrekende waarden automatisch uit bij het berekenen van samenvattende statistieken en rapporteert vervolgens het aantal aanwezigeNA's in de data.Laten we
summary()uitvoeren op de vectorvector_with_na:En op het data frame
dataframe_with_na:De cursus Intermediate R biedt diepgaande inzichten voor wie geïnteresseerd is in meer geavanceerde technieken voor gegevensverwerking.
Best practices voor het verwerken van ontbrekende waarden
Ontbrekende waarden effectief verwerken omvat een aantal best practices:
Controleer altijd op ontbrekende waarden
Identificeer en begrijp de omvang van ontbrekende data voordat je berekeningen uitvoert. In het onderstaande voorbeeld zie je dat het data frame in totaal 2 ontbrekende waarden heeft.
Gebruik conditionele controles
Controleer altijd of er ontbrekende data aanwezig is en pas vervolgens eventuele imputatietechnieken toe, zodat alle randgevallen goed worden afgehandeld.
Houd rekening met de context
Begrijp waarom data ontbreekt en kies een passende methode om dit te verwerken—verwijderen of imputeren.
Voor een gestructureerde aanpak van data-analyse en het omgaan met ontbrekende waarden kan de cursus Data Cleaning in R een geweldige bron zijn.
Conclusie
Het begrijpen en gebruiken van
na.rmis essentieel om betrouwbare en nauwkeurige data-analyse te garanderen. Oefen metna.rmin R-projecten en verken geavanceerde technieken om ontbrekende data volledig te verwerken.Wil je verder leren? Bekijk dan deze aanvullende bronnen: