Hoe waarden tussen 0 en 1 in r te schalen


U kunt de volgende methoden gebruiken om de waarden van een variabele te schalen tussen 0 en 1 in R:

Methode 1: gebruik de R-base

 #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: Gebruik het weegschaalpakket

 library (scales)

x_scaled <- rescale(x)

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe in R:

 #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.

Voorbeeld 1: Schaal waarden tussen 0 en 1 met basis R

De volgende code laat zien hoe u een aangepaste functie in basis R definieert en vervolgens de functie gebruikt om de waarden in de verkoopkolom van het dataframe te schalen tussen 0 en 1:

 #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

Elk van de waarden in de kolom Verkoop wordt nu geschaald tussen 0 en 1.

Deze functie gebruikte de volgende formule om elk van de waarden te schalen:

  • Geschaalde waarde = (waarde – min. waarde) / (max. waarde – min. waarde)

De geschaalde waarde voor de verkopen van winkel A werd bijvoorbeeld als volgt berekend:

  • Geschaalde waarde = (12 – 12) / (77 – 12) = 0 / 65 = 0 .

Op dezelfde manier werd de contante waarde van de omzet van winkel B als volgt berekend:

  • Geschaalde waarde = (24 – 12) / (77 – 12) = 12 / 65 = 0,1846 .

Enzovoort.

Voorbeeld 2: Schaal waarden tussen 0 en 1 met behulp van het Scales-pakket

De volgende code laat zien hoe u de functie rescale() van het scales- pakket in R kunt gebruiken om de waarden in de verkoopkolom van het dataframe te schalen tussen 0 en 1:

 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

Elk van de waarden in de kolom Verkoop wordt nu geschaald tussen 0 en 1.

Merk op dat deze geschaalde waarden overeenkomen met de waarden berekend met behulp van de R-basismethode.

Merk ook op dat de functie rescale() een to-argument accepteert dat het bereik van geschaalde waarden specificeert.

U kunt bijvoorbeeld de volgende syntaxis gebruiken om de waarden in de verkoopkolom te schalen tussen 0 en 100:

 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

Elk van de waarden in de kolom Verkoop wordt nu geschaald tussen 0 en 100.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe een getrimd gemiddelde in R te berekenen
Hoe een gewogen gemiddelde in R te berekenen
Hoe de maximale waarde in elke rij in R te berekenen

Einen Kommentar hinzufügen

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