So standardisieren sie daten in r: mit beispielen
Beim Standardisieren eines Datensatzes werden alle Werte im Datensatz so skaliert, dass der Mittelwert 0 und die Standardabweichung 1 beträgt.
Die gebräuchlichste Methode hierfür ist die Verwendung der Z-Score-Standardisierung, bei der die Werte mithilfe der folgenden Formel skaliert werden:
(x i – x ) / s
Gold:
- x i : der i-te Wert des Datensatzes
- x : Das Stichprobenmittel
- s : die Standardabweichung der Stichprobe
Die folgenden Beispiele zeigen, wie Sie die Funktion „scale()“ mit dem Paket „dplyr “ in R verwenden, um eine oder mehrere Variablen in einem Datenrahmen mithilfe der Z-Score-Standardisierung zu skalieren.
Standardisieren Sie eine einzelne Variable
Der folgende Code zeigt, wie eine einzelne Variable in einem Datenrahmen mit drei Variablen skaliert wird:
library (dplyr) #make this example reproducible set.seed(1) #create original data frame df <- data.frame(var1= runif(10, 0, 50), var2= runif(10, 2, 23), var3= runif(10, 5, 38)) #view original data frame df var1 var2 var3 1 13.275433 6.325466 35.845273 2 18.606195 5.707692 12.000703 3 28.642668 16.427480 26.505234 4 45.410389 10.066178 9.143318 5 10.084097 18.166670 13.818282 6 44.919484 12.451684 17.741765 7 47.233763 17.069989 5.441881 8 33.039890 22.830028 17.618803 9 31.455702 9.980739 33.699798 10 3.089314 18.326350 16.231517 #scale var1 to have mean = 0 and standard deviation = 1 df2 <- df %>% mutate_at (c(' var1 '), ~( scale (.) %>% as.vector )) df2 var1 var2 var3 1 -0.90606801 6.325466 35.845273 2 -0.56830963 5.707692 12.000703 3 0.06760377 16.427480 26.505234 4 1.13001072 10.066178 9.143318 5 -1.10827188 18.166670 13.818282 6 1.09890684 12.451684 17.741765 7 1.24554014 17.069989 5.441881 8 0.34621281 22.830028 17.618803 9 0.24583830 9.980739 33.699798 10 -1.55146305 18.326350 16.231517
Beachten Sie, dass nur die erste Variable skaliert wurde, während die anderen beiden Variablen gleich blieben. Wir können schnell bestätigen, dass die neue skalierte Variable einen Mittelwert von 0 und eine Standardabweichung von 1 hat:
#calculate mean of scaled variable mean(df2$var1) [1] -4.18502e-18 #basically zero #calculate standard deviation of scaled variable sd(df2$var1) [1] 1
Standardisieren Sie mehrere Variablen
Der folgende Code zeigt, wie mehrere Variablen in einem Datenrahmen gleichzeitig skaliert werden:
library (dplyr) #make this example reproducible set.seed(1) #create original data frame df <- data.frame(var1= runif(10, 0, 50), var2= runif(10, 2, 23), var3= runif(10, 5, 38)) #scale var1 and var2 to have mean = 0 and standard deviation = 1 df3 <- df %>% mutate_at (c(' var1 ', ' var2 '), ~( scale (.) %>% as.vector )) df3 var1 var2 var3 1 -0.90606801 -1.3045574 35.845273 2 -0.56830963 -1.4133223 12.000703 3 0.06760377 0.4739961 26.505234 4 1.13001072 -0.6459703 9.143318 5 -1.10827188 0.7801967 13.818282 6 1.09890684 -0.2259798 17.741765 7 1.24554014 0.5871157 5.441881 8 0.34621281 1.6012242 17.618803 9 0.24583830 -0.6610127 33.699798 10 -1.55146305 0.8083098 16.231517
Standardisieren Sie alle Variablen
Der folgende Code zeigt, wie alle Variablen in einem Datenrahmen mithilfe der Funktion mutate_all skaliert werden:
library (dplyr) #make this example reproducible set.seed(1) #create original data frame df <- data.frame(var1= runif(10, 0, 50), var2= runif(10, 2, 23), var3= runif(10, 5, 38)) #scale all variables to have mean = 0 and standard deviation = 1 df4 <- df %>% mutate_all (~( scale (.) %>% as.vector )) df4 var1 var2 var3 1 -0.90606801 -1.3045574 1.6819976 2 -0.56830963 -1.4133223 -0.6715858 3 0.06760377 0.4739961 0.7600871 4 1.13001072 -0.6459703 -0.9536246 5 -1.10827188 0.7801967 -0.4921813 6 1.09890684 -0.2259798 -0.1049130 7 1.24554014 0.5871157 -1.3189757 8 0.34621281 1.6012242 -0.1170501 9 0.24583830 -0.6610127 1.4702281 10 -1.55146305 0.8083098 -0.2539824
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So normalisieren Sie Daten in R
So berechnen Sie die Standardabweichung in R
Wie alle fehlenden Werte in R unterstellt werden
So transformieren Sie Daten in R (Log, Quadratwurzel, Kubikwurzel)