Verwendung von na.rm in r (mit beispielen)
Sie können das Argument na.rm=TRUE verwenden, um fehlende Werte bei der Berechnung deskriptiver Statistiken in R auszuschließen.
#calculate mean and exclude missing values mean(x, na. rm = TRUE ) #calculate sum and exclude missing values sum(x, na. rm = TRUE ) #calculate maximum and exclude missing values max(x, na. rm = TRUE ) #calculate standard deviation and exclude missing values sd(x, na. rm = TRUE )
Die folgenden Beispiele zeigen, wie dieses Argument in der Praxis mit Vektoren und Datenrahmen verwendet wird.
Beispiel 1: Verwendung von na.rm mit Vektoren
Angenommen, wir versuchen, den Mittelwert, die Summe, das Maximum und die Standardabweichung des folgenden Vektors in R zu berechnen, der fehlende Werte enthält:
#define vector with some missing values
x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16)
mean(x)
[1] NA
sum(x)
[1] NA
max(x)
[1] NA
sd(x)
[1] NA
Jede dieser Funktionen gibt einen Wert von NA zurück.
Um fehlende Werte bei der Durchführung dieser Berechnungen auszuschließen, können wir einfach das Argument na.rm = TRUE wie folgt einbinden:
#define vector with some missing values x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16) mean(x, na. rm = TRUE ) [1] 7.428571 sum(x, na. rm = TRUE ) [1] 52 max(x, na. rm = TRUE ) [1] 16 sd(x, na. rm = TRUE ) [1] 4.790864
Beachten Sie, dass wir jede Berechnung erfolgreich durchführen und dabei fehlende Werte ausschließen konnten.
Beispiel 2: Verwendung von na.rm mit Datenrahmen
Angenommen, wir haben den folgenden Datenrahmen in R, der fehlende Werte enthält:
#create data frame df <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, NA, 3, 2), var3=c(3, 3, NA, 6, 8), var4=c(1, 1, 2, 8, NA)) #view data frame df var1 var2 var3 var4 1 1 7 3 1 2 3 7 3 1 3 3 NA NA 2 4 4 3 6 8 5 5 2 8 NA
Wir können die Funktion apply() verwenden, um deskriptive Statistiken für jede Spalte im Datenrahmen zu berechnen und das Argument na.rm = TRUE verwenden, um fehlende Werte bei der Durchführung dieser Berechnungen auszuschließen:
#calculate mean of each column
apply(df, 2, mean, na. rm = TRUE )
var1 var2 var3 var4
3.20 4.75 5.00 3.00
#calculate sum of each column
apply(df, 2, sum, na. rm = TRUE )
var1 var2 var3 var4
16 19 20 12
#calculate max of each column
apply(df, 2, max, na. rm = TRUE )
var1 var2 var3 var4
5 7 8 8
#calculate standard deviation of each column
apply(df, 2, sd, na. rm = TRUE )
var1 var2 var3 var4
1.483240 2.629956 2.449490 3.366502
Wieder einmal konnten wir jede Berechnung erfolgreich abschließen und dabei fehlende Werte ausschließen.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben mit fehlenden Werten in R ausführen:
So verwenden Sie is.null in R
So verwenden Sie na.omit in R
So verwenden Sie is.na in R