So skalieren sie werte zwischen 0 und 1 in r


Sie können die folgenden Methoden verwenden, um die Werte einer Variablen zwischen 0 und 1 in R zu skalieren:

Methode 1: Verwenden Sie die R-Basis

 #define function to scale values between 0 and 1
scale_values <- function (x){(x-min(x))/(max(x)-min(x))}

x_scaled <- rescale(x)

Methode 2: Verwenden Sie das Scales-Paket

 library (scales)

x_scaled <- rescale(x)

Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Datenrahmen in R verwendet wird:

 #create data frame
df <- data. frame (store=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 sales=c(12, 24, 23, 59, 45, 34, 50, 77))

#view data frame
df

  blind sales
1 to 12
2 B 24
3 C 23
4 D 59
5 E 45
6 F 34
7 G 50
8:77 a.m.

Beispiel 1: Skalieren Sie Werte zwischen 0 und 1 mit der Basis R

Der folgende Code zeigt, wie man eine benutzerdefinierte Funktion in Basis-R definiert und dann die Funktion verwendet, um die Werte in der Verkaufsspalte des Datenrahmens zwischen 0 und 1 zu skalieren:

 #define function to scale values between 0 and 1
scale_values <- function (x){(x-min(x))/(max(x)-min(x))}

#scale values in 'sales' column to be between 0 and 1
df$sales <- scale_values(df$sales)

#view updated data frame
df

  blind sales
1 A 0.0000000
2 B 0.1846154
3 C 0.1692308
4 D 0.7230769
5 E 0.5076923
6 F 0.3384615
7G 0.5846154
8 H 1.0000000

Jeder der Werte in der Spalte „Umsätze“ ist jetzt zwischen 0 und 1 skaliert.

Diese Funktion verwendete die folgende Formel, um jeden der Werte zu skalieren:

  • Skalierter Wert = (Wert – Minimalwert) / (Maximalwert – Minimalwert)

Der skalierte Wert für die Umsätze von Geschäft A wurde beispielsweise wie folgt berechnet:

  • Skalierter Wert = (12 – 12) / (77 – 12) = 0 / 65 = 0 .

Ebenso wurde der Barwert der Verkäufe von Geschäft B wie folgt berechnet:

  • Skalierter Wert = (24 – 12) / (77 – 12) = 12 / 65 = 0,1846 .

Und so weiter.

Beispiel 2: Skalieren Sie Werte zwischen 0 und 1 mit dem Scales-Paket

Der folgende Code zeigt, wie die Funktion rescale() des Scales- Pakets in R verwendet wird, um die Werte in der Verkaufsspalte des Datenrahmens so zu skalieren, dass sie zwischen 0 und 1 liegen:

 library (scales)

#scale values in 'sales' column to be between 0 and 1
df$sales <- rescale(df$sales)

#view updated data frame
df

  blind sales
1 A 0.0000000
2 B 0.1846154
3 C 0.1692308
4 D 0.7230769
5 E 0.5076923
6 F 0.3384615
7G 0.5846154
8 H 1.0000000

Jeder der Werte in der Spalte „Umsätze“ ist jetzt zwischen 0 und 1 skaliert.

Beachten Sie, dass diese skalierten Werte denen entsprechen, die mit der R-Basis-Methode berechnet wurden.

Beachten Sie außerdem, dass die Funktion rescale() ein to-Argument akzeptiert , das den Bereich der skalierten Werte angibt.

Sie können beispielsweise die folgende Syntax verwenden, um die Werte in der Umsatzspalte zwischen 0 und 100 zu skalieren:

 library (scales)

#scale values in 'sales' column to be between 0 and 100
df$sales <- rescale(df$sales, to=c(0,100))

#view updated data frame
df

  blind sales
1 A 0.00000
2 B 18.46154
3 C 16.92308
4 D 72.30769
5 E 50.76923
6 F 33.84615
7G 58.46154
8 A.M. 100.00000

Jeder der Werte in der Spalte „Umsätze“ ist jetzt zwischen 0 und 100 skaliert.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:

So berechnen Sie einen getrimmten Mittelwert in R
So berechnen Sie einen gewichteten Durchschnitt in R
So berechnen Sie den Maximalwert in jeder Zeile in R

Einen Kommentar hinzufügen

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