Hoe na.rm in r te gebruiken (met voorbeelden)
U kunt het argument na.rm=TRUE gebruiken om ontbrekende waarden uit te sluiten bij het berekenen van beschrijvende statistieken in R.
#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 )
De volgende voorbeelden laten zien hoe u dit argument in de praktijk kunt gebruiken met vectoren en dataframes.
Voorbeeld 1: na.rm gebruiken met vectoren
Stel dat we het gemiddelde, de som, het maximum en de standaarddeviatie proberen te berekenen van de volgende vector in R die ontbrekende waarden bevat:
#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
Elk van deze functies retourneert de waarde NA .
Om ontbrekende waarden uit te sluiten bij het uitvoeren van deze berekeningen, kunnen we eenvoudigweg het argument na.rm = TRUE als volgt opnemen:
#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
Merk op dat we elke berekening met succes hebben kunnen uitvoeren, terwijl ontbrekende waarden zijn uitgesloten.
Voorbeeld 2: na.rm gebruiken met dataframes
Stel dat we het volgende dataframe in R hebben dat ontbrekende waarden bevat:
#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
We kunnen de functie apply() gebruiken om beschrijvende statistieken voor elke kolom in het dataframe te berekenen en het argument na.rm = TRUE gebruiken om ontbrekende waarden uit te sluiten bij het uitvoeren van deze berekeningen:
#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
Wederom konden we elke berekening met succes voltooien, zonder ontbrekende waarden uit te sluiten.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken met ontbrekende waarden in R kunt uitvoeren:
Hoe is.null te gebruiken in R
Hoe na.omit te gebruiken in R
Hoe gebruik je is.na in R?