Wie man na.rm zur Behandlung fehlender Werte in R verwendet
Wir setzen na.rm = TRUE in den gängigen R-Funktionen, um fehlende (NA) Werte auszuschließen. Das hilft uns, genaue Statistiken zu berechnen und erhöht die Zuverlässigkeit unserer Ergebnisse.
Daten werden in rasantem Tempo erzeugt und genutzt, um wichtige Geschäftsentscheidungen zu treffen. Eine häufige Herausforderung bei der Datenanalyse ist das Vorhandensein von fehlenden Werten. Das kann die Ergebnisse verfälschen und macht es für jeden Datenanalysten unumgänglich, sie effektiv zu handhaben. In R ist eines der grundlegenden Werkzeuge zur Verwaltung fehlender Werte der Parameter na.rm.
In diesem Beitrag wird erklärt, wie wichtig der Umgang mit fehlenden Daten ist, wie na.rm in R funktioniert, seine Verwendung in verschiedenen Funktionen demonstriert und abschließend einige alternative Techniken zur Identifizierung und zum Umgang mit fehlenden Daten besprochen.
Die kurze Antwort: Was ist na.rm?
Der Parameter na.rm steht in R für "NA remove" und ignoriert NA (fehlende) Werte bei den Berechnungen. Wenn du na.rm = TRUE einstellst, berechnen Funktionen wie mean(), sum(), min(), max(), median() und sd() die Ergebnisse, ohne von fehlenden Werten beeinflusst zu werden.
Der Parameter na.rm, der in Kleinbuchstaben geschrieben wird, enthält einen booleschen Wert -TRUE oder FALSE. Wenn wir na.rm = TRUE einstellen, schließt R die Werte von NA von den Berechnungen aus. Ohne diesen Parameter würden die Funktionen NA zurückgeben, wenn in den Daten fehlende Werte vorhanden sind. Sieh es dir an.
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 NABereitgestellt von
Mehr über die Grundlagen der R-Programmierung erfährst du im Kurs Einführung in R.
Warum na.rm benutzen?
Der Umgang mit fehlenden Werten ist bei der Datenanalyse von entscheidender Bedeutung, um genaue Ergebnisse zu gewährleisten, denn sie können statistische Berechnungen erheblich beeinflussen und ungewollt zu falschen Schlussfolgerungen führen. Mit na.rm können Fehler vermieden werden, indem diese fehlenden Werte übersprungen werden, wodurch zuverlässige Berechnungen durchgeführt und die Datenintegrität gewahrt wird.
Der Kurs " Datenbereinigung in R" ist wertvoll, um unsere Fähigkeiten in der Datenanalyse zu verbessern.
Gemeinsame Funktionen mit na.rm: Einige praktische Beispiele
Jetzt wollen wir verstehen, wie man na.rm in R verwendet. Mehrere R-Funktionen enthalten den Parameter na.rm (standardmäßig auf FALSE gesetzt). Hier sind einige gängige Beispiele:
sum()
Wie der Name schon sagt, berechnet die sum() die Summe der Werte in einem Vektor. Erstellen wir einen Vektor mit dem Namen vector_with_na, den wir in diesem Lernprogramm durchgängig verwenden werden.
vector_with_na <- c(1,2,NA,4)
sum(vector_with_na)# Returns NA
sum(vector_with_na, na.rm =TRUE)# Returns 7Bereitgestellt von
mean()
Im gleichen Beispiel berechnet die Funktion mean() den Mittelwert, also den Durchschnitt der Werte in unserem Vektor.
mean(vector_with_na)# Returns NA
mean(vector_with_na, na.rm =TRUE)# Returns 2.33Bereitgestellt von
sd()
Wenn du mit vector_with_na fortfährst, berechnet die sd() die Standardabweichung des Vektors.
sd(vector_with_na)# Returns NA
sd(vector_with_na, na.rm =TRUE)# Returns 1.53Bereitgestellt von
min()
Die min() findet den Mindestwert.
min(vector_with_na)# Returns NA
min(vector_with_na, na.rm =TRUE)# Returns 1Bereitgestellt von
max()
max() findet den maximalen Wert.
max(vector_with_na)# Returns NA
max(vector_with_na, na.rm =TRUE)# Returns 4Bereitgestellt von
median()
median() findet den mittleren Wert, wenn er in der richtigen Reihenfolge angeordnet ist.
median(vector_with_na)# Returns NA
median(vector_with_na, na.rm =TRUE)# Returns 2Bereitgestellt von
Beachte, dass in Abwesenheit von na.rm = TRUE alle diese Aggregatfunktionen NA zurückgeben.
Durch die Einstellung na.rm = TRUE schließen diese Funktionen NA Werte aus, was zu genauen und aussagekräftigen Berechnungen führt. Der Lernpfad Grundlagen der R-Programmierung ist eine gute Ressource, um die Verwendung und Syntax dieser Funktionen besser zu verstehen.
Umgang mit fehlenden Werten in verschiedenen Datenstrukturen
Schauen wir uns an, wie man mit fehlenden Werten in verschiedenen Datenstrukturen umgeht. Bevor wir fortfahren, schau dir unsere Beherrschen von Datenstrukturen in der Programmiersprache R wenn du mehr über R-Datenstrukturen erfahren möchtest.
Vektoren
In Vektoren kann na.rm direkt in Funktionen verwendet werden, um fehlende Werte auszuschließen. Die Beispiele im vorherigen Abschnitt sind alle Beispiele für na.rm in Aktion auf Vektoren.
Datenrahmen
Bei Datenrahmen kann na.rm innerhalb von Funktionen angewendet werden, die auf bestimmte Spalten oder Zeilen angewendet werden, indem die apply() wie unten gezeigt verwendet wird:
MARGINArgument, um festzulegen, wo die Funktion angewendet werden soll:
MARGIN=1 für Zeilenmanipulation
MARGIN=2 für Spaltenmanipulation
MARGIN=c(1,2) für Zeilen- und Spaltenmanipulation
FUN: gibt an, welche Funktion angewendet werden soll. Eingebaute Funktionen wie mean(), median(), sum(), min(), max() und benutzerdefinierte Funktionen können angewendet werden.
Erstellen wir einen Datenrahmen, auf den wir uns in diesem Lernprogramm beziehen.
Die Funktion lapply() in R wird verwendet, um eine bestimmte Funktion auf jedes Element einer Liste, eines Vektors oder eines Datenrahmens anzuwenden, und sie gibt eine Liste mit derselben Länge zurück. Diese Funktion benötigt keinen MARGIN Parameter, da sie die Operation automatisch auf alle Elemente anwendet.
vector_with_na: Die Eingabeliste, der Vektor oder der Datenrahmen.
fun: Die Funktion, die auf jedes Eingabedatenelement angewendet werden soll.
Lass uns lapply() anhand eines Listenbeispiels verstehen. Hier haben wir eine Liste von Sammlungen (item_1 und item_2) mit Elementen, die dem Datenrahmen (dataframe_with_na) ähneln. Unser Ziel ist es, den Mittelwert jeder Sammlung zu finden.
Die Funktion sapply() ist ähnlich wie lapply(), gibt aber statt einer Liste ein Array oder eine Matrix zurück. Verwenden wir die Liste (list_with_na) und die sapply(), um den Mittelwert der Werte jeder Sammlung darin zu berechnen.
sapply(list_with_na, mean)# Returns# a b # NA NA
sapply(list_with_na, mean, na.rm =TRUE)# Returns# a b # 3.333333 5.333333Bereitgestellt von
Verwenden wir nun den Datenrahmen (dataframe_with_na) und die sapply(), um die Summe der Werte jeder Spalte zu berechnen.
sapply(dataframe_with_na, sum)# Returns# col1 col2 # NA NA
sapply(dataframe_with_na, sum, na.rm=TRUE)# Returns# col1 col2 # 10 16Bereitgestellt von
Für ein umfassenderes Verständnis der Datenbearbeitung in R ist der Kurs Datenbearbeitung mit dplyr sehr zu empfehlen. Wenn du dich bei der apply()-Funktionsfamilie unsicher fühlst, lies dir unser Tutorial über die R Apply-Familie durch.
Vergleich mit na.omit() und complete.cases()
na.omit(): Diese Funktion entfernt alle Zeilen, die NA Werte in einem Datenrahmen enthalten. Lass uns das anhand eines Beispiels verstehen:
complete.cases(): Auf der anderen Seite identifiziert complete.cases() Zeilen ohne NA Werte und gibt ein bool für jede Zeile zurück (FALSE für Zeilen mit NA und umgekehrt). Damit kannst du die nicht fehlenden Werte im Datenrahmen filtern, wie unten gezeigt.
Fortgeschrittene Techniken zur Behandlung fehlender Werte
Über na.rm hinaus bietet R fortschrittliche Methoden für den Umgang mit fehlenden Daten:
Mit is.na() fehlende Werte identifizieren
is.na() kann direkt auf einen Vektor oder Datenrahmen angewendet werden, um fehlende Daten zu identifizieren. Sie gibt für jeden fehlenden Wert eine TRUE zurück.
Interessanterweise unterscheidet sich die Funktionsummary() bei der Behandlung fehlender Werte von na.rm. Standardmäßig schließt summary() bei der Berechnung der zusammenfassenden Statistik fehlende Werte automatisch aus und meldet anschließend die Anzahl der in den Daten vorhandenen NAs.
Lass uns summary() mit dem Vektor vector_with_na ausführen:
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 1Bereitgestellt von
Und auf dem Datenrahmen 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 Bereitgestellt von
Der R-Kurs für Fortgeschrittene bietet vertiefte Einblicke für diejenigen, die sich für fortgeschrittene Datenverarbeitungstechniken interessieren.
Best Practices für den Umgang mit fehlenden Werten
Für den effektiven Umgang mit fehlenden Werten gibt es mehrere Best Practices:
Prüfe immer auf fehlende Werte
Erkenne und verstehe das Ausmaß der fehlenden Daten, bevor du Berechnungen durchführst. Das folgende Beispiel zeigt, dass der Datenrahmen insgesamt 2 fehlende Werte enthält.
Überprüfe immer das Vorhandensein fehlender Daten und wende entsprechend alle Imputationsverfahren an, um sicherzustellen, dass alle Randfälle gut behandelt werden.
Verstehe, warum Daten fehlen und wähle eine geeignete Methode, um damit umzugehen - Entfernung oder Imputation.
Für eine strukturierte Herangehensweise an die Datenanalyse und den Umgang mit fehlenden Werten ist die Datenbereinigung in RKurs eine großartige Ressource sein.
Fazit
Das Verständnis und die Nutzung von na.rm sind der Schlüssel für eine zuverlässige und genaue Datenanalyse. Übe die Verwendung von na.rm in R-Projekten und erkunde fortgeschrittene Techniken, um fehlende Daten umfassend zu behandeln.
Wenn du weiter lernen möchtest, kannst du diese zusätzlichen Ressourcen nutzen:
Datenbereinigung: Verbessere deine Fähigkeiten zur Datenanalyse mit unserem Kurs Data Cleaning in R.
Einführung in R: Mit unserem Kurs "Einführung in R" kannst du in die R-Programmierung einsteigen.
Ich bin KI-Stratege und Ethiker und arbeite an der Schnittstelle von Datenwissenschaft, Produkt und Technik, um skalierbare maschinelle Lernsysteme zu entwickeln. Als einer der "Top 200 Business and Technology Innovators" der Welt bin ich auf der Mission, das maschinelle Lernen zu demokratisieren und den Fachjargon zu überwinden, damit jeder an diesem Wandel teilhaben kann.
Häufig gestellte Fragen
Was ist der na.rm-Parameter in R?⌄
Der Parameter na.rm in R steht für "NA entfernen". Wenn sie auf TRUE gesetzt ist, weist sie Funktionen an, NA (fehlende) Werte bei Berechnungen zu ignorieren, um genaue Ergebnisse zu gewährleisten.
Wie benutzt du na.rm in gängigen R-Funktionen?⌄
Du kannst na.rm in Funktionen wie sum(), mean(), sd(), min(), max() und median() verwenden, indem du na.rm = TRUE so einstellst, dass fehlende Werte von den Berechnungen ausgeschlossen werden.
Warum ist der Umgang mit fehlenden Werten bei der Datenanalyse wichtig?⌄
Fehlende Werte können die Ergebnisse verfälschen und zu ungenauen Schlussfolgerungen führen. Ein effektiver Umgang mit ihnen sorgt für zuverlässige Berechnungen und bewahrt die Datenintegrität.
Kann na.rm mit Datenrahmen und Listen in R verwendet werden?⌄
Ja, na.rm kann bei Datenrahmen mit Funktionen wie apply() und bei Listen mit lapply() und sapply() verwendet werden, um fehlende Werte bei Operationen mit diesen Datenstrukturen auszuschließen.
Welche fortgeschrittenen Techniken gibt es für den Umgang mit fehlenden Werten in R?⌄
Über na.rm hinaus gibt es fortgeschrittene Techniken wie is.na(), um fehlende Werte zu identifizieren, Imputationsmethoden anzuwenden, um sie zu ersetzen, und Funktionen wie na.omit() und complete.cases() für komplexere Datenbereinigung zu nutzen.
Schau dir 4 Möglichkeiten an, wie du NaN-Werte in Python mit NumPy und Pandas erkennen kannst. Lerne die wichtigsten Unterschiede zwischen NaN und None kennen, um Daten effizient zu bereinigen und zu analysieren.
Gewinne Vertrauen in die OLS-Regression, indem du ihre theoretischen Grundlagen beherrschst. Erforsche, wie du einfache Implementierungen in Excel, R und Python durchführst.
Lerne, wie du Zahlen in Python mit round(), f-Strings, format(), dem decimal-Modul, NumPy und mehr auf zwei Dezimalstellen rundest — inklusive Vergleichstabelle der Methoden.
Quadrieren in Python ist einfach: Nutze den eingebauten Operator ** oder setze für vielseitigere Lösungen NumPy, pow(), math.pow(), Bitoperatoren und weitere Funktionen ein.
Daten werden in rasantem Tempo erzeugt und genutzt, um wichtige Geschäftsentscheidungen zu treffen. Eine häufige Herausforderung bei der Datenanalyse ist das Vorhandensein von fehlenden Werten. Das kann die Ergebnisse verfälschen und macht es für jeden Datenanalysten unumgänglich, sie effektiv zu handhaben. In R ist eines der grundlegenden Werkzeuge zur Verwaltung fehlender Werte der Parameter
na.rm.In diesem Beitrag wird erklärt, wie wichtig der Umgang mit fehlenden Daten ist, wie
na.rmin R funktioniert, seine Verwendung in verschiedenen Funktionen demonstriert und abschließend einige alternative Techniken zur Identifizierung und zum Umgang mit fehlenden Daten besprochen.Die kurze Antwort: Was ist na.rm?
Der Parameter
na.rmsteht in R für "NA remove" und ignoriertNA(fehlende) Werte bei den Berechnungen. Wenn duna.rm = TRUEeinstellst, berechnen Funktionen wiemean(),sum(),min(),max(),median()undsd()die Ergebnisse, ohne von fehlenden Werten beeinflusst zu werden.Der Parameter
na.rm, der in Kleinbuchstaben geschrieben wird, enthält einen booleschen Wert -TRUEoderFALSE. Wenn wirna.rm = TRUEeinstellen, schließt R die Werte vonNAvon den Berechnungen aus. Ohne diesen Parameter würden die FunktionenNAzurückgeben, wenn in den Daten fehlende Werte vorhanden sind. Sieh es dir an.Mehr über die Grundlagen der R-Programmierung erfährst du im Kurs Einführung in R.
Warum na.rm benutzen?
Der Umgang mit fehlenden Werten ist bei der Datenanalyse von entscheidender Bedeutung, um genaue Ergebnisse zu gewährleisten, denn sie können statistische Berechnungen erheblich beeinflussen und ungewollt zu falschen Schlussfolgerungen führen. Mit
na.rmkönnen Fehler vermieden werden, indem diese fehlenden Werte übersprungen werden, wodurch zuverlässige Berechnungen durchgeführt und die Datenintegrität gewahrt wird.Der Kurs " Datenbereinigung in R" ist wertvoll, um unsere Fähigkeiten in der Datenanalyse zu verbessern.
Gemeinsame Funktionen mit na.rm: Einige praktische Beispiele
Jetzt wollen wir verstehen, wie man
na.rmin R verwendet. Mehrere R-Funktionen enthalten den Parameterna.rm(standardmäßig aufFALSEgesetzt). Hier sind einige gängige Beispiele:sum()
Wie der Name schon sagt, berechnet die
sum()die Summe der Werte in einem Vektor. Erstellen wir einen Vektor mit dem Namenvector_with_na, den wir in diesem Lernprogramm durchgängig verwenden werden.mean()
Im gleichen Beispiel berechnet die Funktion
mean()den Mittelwert, also den Durchschnitt der Werte in unserem Vektor.sd()
Wenn du mit
vector_with_nafortfährst, berechnet diesd()die Standardabweichung des Vektors.min()
Die
min()findet den Mindestwert.max()
max()findet den maximalen Wert.median()
median()findet den mittleren Wert, wenn er in der richtigen Reihenfolge angeordnet ist.Beachte, dass in Abwesenheit von
na.rm = TRUEalle diese AggregatfunktionenNAzurückgeben.Durch die Einstellung
na.rm = TRUEschließen diese FunktionenNAWerte aus, was zu genauen und aussagekräftigen Berechnungen führt. Der Lernpfad Grundlagen der R-Programmierung ist eine gute Ressource, um die Verwendung und Syntax dieser Funktionen besser zu verstehen.Umgang mit fehlenden Werten in verschiedenen Datenstrukturen
Schauen wir uns an, wie man mit fehlenden Werten in verschiedenen Datenstrukturen umgeht. Bevor wir fortfahren, schau dir unsere Beherrschen von Datenstrukturen in der Programmiersprache R wenn du mehr über R-Datenstrukturen erfahren möchtest.
Vektoren
In Vektoren kann
na.rmdirekt in Funktionen verwendet werden, um fehlende Werte auszuschließen. Die Beispiele im vorherigen Abschnitt sind alle Beispiele fürna.rmin Aktion auf Vektoren.Datenrahmen
Bei Datenrahmen kann
na.rminnerhalb von Funktionen angewendet werden, die auf bestimmte Spalten oder Zeilen angewendet werden, indem dieapply()wie unten gezeigt verwendet wird:Hier:
X: ein Array, ein Datenrahmen oder eine MatrixMARGINArgument, um festzulegen, wo die Funktion angewendet werden soll:MARGIN=1für ZeilenmanipulationMARGIN=2für SpaltenmanipulationMARGIN=c(1,2)für Zeilen- und SpaltenmanipulationFUN: gibt an, welche Funktion angewendet werden soll. Eingebaute Funktionen wiemean(),median(),sum(),min(),max()und benutzerdefinierte Funktionen können angewendet werden.Erstellen wir einen Datenrahmen, auf den wir uns in diesem Lernprogramm beziehen.
Listen
Die Funktion
lapply()in R wird verwendet, um eine bestimmte Funktion auf jedes Element einer Liste, eines Vektors oder eines Datenrahmens anzuwenden, und sie gibt eine Liste mit derselben Länge zurück. Diese Funktion benötigt keinenMARGINParameter, da sie die Operation automatisch auf alle Elemente anwendet.Syntax:
Hier:
: Die Eingabeliste, der Vektor oder der Datenrahmen.vector_with_nafun: Die Funktion, die auf jedes Eingabedatenelement angewendet werden soll.Lass uns
lapply()anhand eines Listenbeispiels verstehen. Hier haben wir eine Liste von Sammlungen (item_1unditem_2) mit Elementen, die dem Datenrahmen (dataframe_with_na) ähneln. Unser Ziel ist es, den Mittelwert jeder Sammlung zu finden.Die Funktion
sapply()ist ähnlich wielapply(), gibt aber statt einer Liste ein Array oder eine Matrix zurück. Verwenden wir die Liste (list_with_na) und diesapply(), um den Mittelwert der Werte jeder Sammlung darin zu berechnen.Verwenden wir nun den Datenrahmen (
dataframe_with_na) und diesapply(), um die Summe der Werte jeder Spalte zu berechnen.Für ein umfassenderes Verständnis der Datenbearbeitung in R ist der Kurs Datenbearbeitung mit dplyr sehr zu empfehlen. Wenn du dich bei der apply()-Funktionsfamilie unsicher fühlst, lies dir unser Tutorial über die R Apply-Familie durch.
Vergleich mit na.omit() und complete.cases()
na.omit(): Diese Funktion entfernt alle Zeilen, dieNAWerte in einem Datenrahmen enthalten. Lass uns das anhand eines Beispiels verstehen:complete.cases(): Auf der anderen Seite identifiziertcomplete.cases()Zeilen ohneNAWerte und gibt ein bool für jede Zeile zurück (FALSEfür Zeilen mitNAund umgekehrt). Damit kannst du die nicht fehlenden Werte im Datenrahmen filtern, wie unten gezeigt.Fortgeschrittene Techniken zur Behandlung fehlender Werte
Über
na.rmhinaus bietet R fortschrittliche Methoden für den Umgang mit fehlenden Daten:Mit is.na() fehlende Werte identifizieren
is.na()kann direkt auf einen Vektor oder Datenrahmen angewendet werden, um fehlende Daten zu identifizieren. Sie gibt für jeden fehlenden Wert eineTRUEzurück.Anwendung von Imputationsmethoden
Bei der Imputation werden fehlende Werte durch geschätzte Werte ersetzt, z. B. durch den Mittelwert oder den Median, wie unten dargestellt:
Verwendung der Funktion summary()
Interessanterweise unterscheidet sich die Funktion
summary()bei der Behandlung fehlender Werte vonna.rm. Standardmäßig schließtsummary()bei der Berechnung der zusammenfassenden Statistik fehlende Werte automatisch aus und meldet anschließend die Anzahl der in den Daten vorhandenenNAs.Lass uns
summary()mit dem Vektorvector_with_naausführen:Und auf dem Datenrahmen
dataframe_with_na:Der R-Kurs für Fortgeschrittene bietet vertiefte Einblicke für diejenigen, die sich für fortgeschrittene Datenverarbeitungstechniken interessieren.
Best Practices für den Umgang mit fehlenden Werten
Für den effektiven Umgang mit fehlenden Werten gibt es mehrere Best Practices:
Prüfe immer auf fehlende Werte
Erkenne und verstehe das Ausmaß der fehlenden Daten, bevor du Berechnungen durchführst. Das folgende Beispiel zeigt, dass der Datenrahmen insgesamt 2 fehlende Werte enthält.
Bedingte Prüfungen verwenden
Überprüfe immer das Vorhandensein fehlender Daten und wende entsprechend alle Imputationsverfahren an, um sicherzustellen, dass alle Randfälle gut behandelt werden.
Berücksichtige den Kontext
Verstehe, warum Daten fehlen und wähle eine geeignete Methode, um damit umzugehen - Entfernung oder Imputation.
Für eine strukturierte Herangehensweise an die Datenanalyse und den Umgang mit fehlenden Werten ist die Datenbereinigung in R Kurs eine großartige Ressource sein.
Fazit
Das Verständnis und die Nutzung von
na.rmsind der Schlüssel für eine zuverlässige und genaue Datenanalyse. Übe die Verwendung vonna.rmin R-Projekten und erkunde fortgeschrittene Techniken, um fehlende Daten umfassend zu behandeln.Wenn du weiter lernen möchtest, kannst du diese zusätzlichen Ressourcen nutzen: