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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert