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 ix ) / 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)

Einen Kommentar hinzufügen

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