So verwenden sie die funktion „scale()“ in r (mit beispielen)


Die Funktion „scale()“ in R kann zum Skalieren von Werten in einem Vektor, einer Matrix oder einem Datenrahmen verwendet werden.

Diese Funktion verwendet die folgende grundlegende Syntax:

 scale(x, center = TRUE , scale = TRUE )

Gold:

  • x : Name des zu skalierenden Objekts
  • center : ob der Mittelwert beim Skalieren subtrahiert werden soll. Der Standardwert ist TRUE.
  • Skala : Ob beim Skalieren durch die Standardabweichung dividiert werden soll. Der Standardwert ist TRUE.

Diese Funktion verwendet die folgende Formel, um skalierte Werte zu berechnen:

skaliertes x = ( Original x – x̄) / s

Gold:

  • original x : Der ursprüngliche x-Wert
  • : Das Stichprobenmittel
  • s : die Standardabweichung der Stichprobe

Dies wird auch als Datennormalisierung bezeichnet, bei der einfach jeder Originalwert in einen Z-Score umgewandelt wird.

Die folgenden Beispiele zeigen, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel 1: Werte in einem Vektor skalieren

Angenommen, wir haben den folgenden Wertevektor in R:

 #define vector of values
x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)

#view mean and standard deviation of values
mean(x)

[1] 5

sd(x)

[1] 2.738613

Der folgende Code zeigt, wie Vektorwerte mithilfe der Funktion „scale()“ skaliert werden:

 #scale the values of x
x_scaled <- scale(x)

#view scaled values
x_scaled

            [,1]
 [1,] -1.4605935
 [2,] -1.0954451
 [3,] -0.7302967
 [4,] -0.3651484
 [5,] 0.0000000
 [6,] 0.3651484
 [7,] 0.7302967
 [8,] 1.0954451
 [9,] 1.4605935

So wurde jeder skalierte Wert berechnet:

  • Wert 1: (1 – 5) / 2,738613 = -1,46
  • Wert 2: (2 – 5) / 2,738613 = -1,09
  • Wert 3: (3 – 5) / 2,738613 = -0,73

Und so weiter.

Beachten Sie, dass bei Angabe von „scale=FALSE“ die Funktion beim Skalieren nicht durch die Standardabweichung dividiert:

 #scale the values of x but don't divide by standard deviation
x_scaled <- scale(x, scale = FALSE )

#view scaled values
x_scaled

      [,1]
 [1,] -4
 [2,] -3
 [3,] -2
 [4,] -1
 [5,] 0
 [6,] 1
 [7,] 2
 [8,] 3
 [9,] 4

So wurde jeder skalierte Wert berechnet:

  • Wert 1: 1 – 5 = -4
  • Wert 2: 2 – 5 = -3
  • Wert 3: 3 – 5 = -2

Und so weiter.

Beispiel 2: Spaltenwerte in einem Datenrahmen skalieren

Am häufigsten verwenden wir die Funktion „scale()“, wenn wir die Werte mehrerer Spalten in einem Datenrahmen so skalieren möchten, dass jede Spalte einen Mittelwert von 0 und eine Standardabweichung von 1 hat.

Angenommen, wir haben den folgenden Datenrahmen in R:

 #create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8, 9),
                 y=c(10, 20, 30, 40, 50, 60, 70, 80, 90))

#view data frame
df

  xy
1 1 10
2 2 20
3 3 30
4 4 40
5 5 50
6 6 60
7 7 70
8 8 80
9 9 90

Beachten Sie, dass der Wertebereich der y-Variablen viel größer ist als der Wertebereich der x-Variablen.

Mit der Funktion „scale()“ können wir die Werte in den beiden Spalten so skalieren, dass die skalierten Werte von x und y beide einen Mittelwert von 0 und eine Standardabweichung von 1 haben:

 #scale values in each column of data frame
df_scaled <- scale(df)

#view scaled data frame
df_scaled

               xy
 [1,] -1.4605935 -1.4605935
 [2,] -1.0954451 -1.0954451
 [3,] -0.7302967 -0.7302967
 [4,] -0.3651484 -0.3651484
 [5,] 0.0000000 0.0000000
 [6,] 0.3651484 0.3651484
 [7,] 0.7302967 0.7302967
 [8,] 1.0954451 1.0954451
 [9,] 1.4605935 1.4605935

Die x- und y-Spalten haben jetzt einen Mittelwert von 0 und eine Standardabweichung von 1.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:

So normalisieren Sie Daten in R
So standardisieren Sie Daten in R
So mitteln Sie den Durchschnitt über Spalten in R

Einen Kommentar hinzufügen

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