How to arrange values Between 0 and 1 in R
How to arrange values Between 0 and 1 in R?, The following techniques can be used in R to scale a variable’s values between 0 and 1:
Using the following data frame in R, the following examples demonstrate how to use each technique in practise:
Let’s create a data frame
df <- data.frame(store=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                sales=c(102, 124, 223, 359, 145, 134, 520, 177))Now we can view the data frame
Why is Data Management Essential for Data Science? » finnstats
df
store sales 1Â Â Â Â AÂ Â 102 2Â Â Â Â BÂ Â 124 3Â Â Â Â CÂ Â 223 4Â Â Â Â DÂ Â 359 5Â Â Â Â EÂ Â 145 6Â Â Â Â FÂ Â 134 7Â Â Â Â GÂ Â 520 8Â Â Â Â HÂ Â 177
Example 1: Using Base R, Scale Values Between 0 and 1
The code that follows demonstrates how to create a new function in base R and then use it to scale the numbers in the data frame’s sales column to be between 0 and 1:
Scale values between 0 and 1 using the #define function.
scale_values <- function(x){(x-min(x))/(max(x)-min(x))}Now we can use scale_values in ‘sales’ column to be between 0 and 1
df$sales <- scale_values(df$sales)
Now we can view the updated data frame
df
store     sales 1    A 0.00000000 2    B 0.05263158 3    C 0.28947368 4    D 0.61483254 5    E 0.10287081 6    F 0.07655502 7    G 1.00000000 8    H 0.17942584
The sales column’s values are now scaled between 0 and 1.
This function scaled each of the values using the following formula:
Scaled value = (value – min value) / (max value – min value)
Example 2: Using the scales Package to Scale Values Between 0 and 1.
The numbers in the data frame’s sales column can be scaled to be between 0 and 1 by using the rescale() function from the scales package in R, as seen in the code below.
How to Apply AI to Small Data Sets? » finnstats
library(scales)
Let’s scale values in ‘sales’ column to be between 0 and 1
df$sales <- rescale(df$sales)
Now we can view the updated data frame
df
store     sales 1    A 0.00000000 2    B 0.05263158 3    C 0.28947368 4    D 0.61483254 5    E 0.10287081 6    F 0.07655502 7    G 1.00000000 8    H 0.17942584
The sales column’s values are now scaled between 0 and 1.
You’ll see that the scaled values correspond to those obtained using the standard R technique.
Recall that the to argument, which is accepted by the rescale() function, determines the scaled values’ range.
Instead, you could scale the values in the sales column to be between 0 and 100 using the syntax shown in the example below:
library(scales)
Now we can scale values in ‘sales’ column to be between 0 and 100
df$sales <- rescale(df$sales, to=c(0,100)) df
store     sales 1     A  0.000000 2    B  5.263158 3    C 28.947368 4    D 61.483254 5    E 10.287081 6    F  7.655502 7    G 100.000000 8    H 17.942584
The sales column’s values are now all scaled between 0 and 100.