Data preparation
id = seq(1,20, by=1)
SCORE <- c(42,47,59,27,84,49,72,43,73,59,58,82,50,79,89,75,70,59,67,35)
mydata <- data.frame(id, SCORE)
old.max <- max(SCORE)
old.min <- min(SCORE)
mydata
## id SCORE
## 1 1 42
## 2 2 47
## 3 3 59
## 4 4 27
## 5 5 84
## 6 6 49
## 7 7 72
## 8 8 43
## 9 9 73
## 10 10 59
## 11 11 58
## 12 12 82
## 13 13 50
## 14 14 79
## 15 15 89
## 16 16 75
## 17 17 70
## 18 18 59
## 19 19 67
## 20 20 35
hist(mydata$SCORE, breaks=20)

Normalize SCORE to be range (0,1)
new.min = 0
new.max = 1
mydata <- within(mydata, score01 <- (SCORE-old.min)/(old.max - old.min))
mydata
## id SCORE score01
## 1 1 42 0.2419355
## 2 2 47 0.3225806
## 3 3 59 0.5161290
## 4 4 27 0.0000000
## 5 5 84 0.9193548
## 6 6 49 0.3548387
## 7 7 72 0.7258065
## 8 8 43 0.2580645
## 9 9 73 0.7419355
## 10 10 59 0.5161290
## 11 11 58 0.5000000
## 12 12 82 0.8870968
## 13 13 50 0.3709677
## 14 14 79 0.8387097
## 15 15 89 1.0000000
## 16 16 75 0.7741935
## 17 17 70 0.6935484
## 18 18 59 0.5161290
## 19 19 67 0.6451613
## 20 20 35 0.1290323
hist(mydata$score01, breaks = 20)

Normalize SCORE to be range(-1,1)
new.min = -1
new.max = 1
mydata <- within(mydata, score.minus11 <- (SCORE-old.min)/(old.max - old.min)*(new.max-new.min)+new.min)
mydata
## id SCORE score01 score.minus11
## 1 1 42 0.2419355 -0.51612903
## 2 2 47 0.3225806 -0.35483871
## 3 3 59 0.5161290 0.03225806
## 4 4 27 0.0000000 -1.00000000
## 5 5 84 0.9193548 0.83870968
## 6 6 49 0.3548387 -0.29032258
## 7 7 72 0.7258065 0.45161290
## 8 8 43 0.2580645 -0.48387097
## 9 9 73 0.7419355 0.48387097
## 10 10 59 0.5161290 0.03225806
## 11 11 58 0.5000000 0.00000000
## 12 12 82 0.8870968 0.77419355
## 13 13 50 0.3709677 -0.25806452
## 14 14 79 0.8387097 0.67741935
## 15 15 89 1.0000000 1.00000000
## 16 16 75 0.7741935 0.54838710
## 17 17 70 0.6935484 0.38709677
## 18 18 59 0.5161290 0.03225806
## 19 19 67 0.6451613 0.29032258
## 20 20 35 0.1290323 -0.74193548
hist(mydata$score.minus11, breaks = 20)

Normalize by z-score
score.mean = mean(SCORE)
score.sd = sd(SCORE)
mydata <- within(mydata, zscore<-(SCORE-score.mean)/score.sd)
mydata
## id SCORE score01 score.minus11 zscore
## 1 1 42 0.2419355 -0.51612903 -1.0984281
## 2 2 47 0.3225806 -0.35483871 -0.8086054
## 3 3 59 0.5161290 0.03225806 -0.1130309
## 4 4 27 0.0000000 -1.00000000 -1.9678962
## 5 5 84 0.9193548 0.83870968 1.3360827
## 6 6 49 0.3548387 -0.29032258 -0.6926763
## 7 7 72 0.7258065 0.45161290 0.6405082
## 8 8 43 0.2580645 -0.48387097 -1.0404635
## 9 9 73 0.7419355 0.48387097 0.6984727
## 10 10 59 0.5161290 0.03225806 -0.1130309
## 11 11 58 0.5000000 0.00000000 -0.1709954
## 12 12 82 0.8870968 0.77419355 1.2201536
## 13 13 50 0.3709677 -0.25806452 -0.6347117
## 14 14 79 0.8387097 0.67741935 1.0462600
## 15 15 89 1.0000000 1.00000000 1.6259054
## 16 16 75 0.7741935 0.54838710 0.8144018
## 17 17 70 0.6935484 0.38709677 0.5245791
## 18 18 59 0.5161290 0.03225806 -0.1130309
## 19 19 67 0.6451613 0.29032258 0.3506855
## 20 20 35 0.1290323 -0.74193548 -1.5041799
hist(mydata$zscore,breaks = 20)

Take a look on the distributions of nomalized scores
mydata
## id SCORE score01 score.minus11 zscore
## 1 1 42 0.2419355 -0.51612903 -1.0984281
## 2 2 47 0.3225806 -0.35483871 -0.8086054
## 3 3 59 0.5161290 0.03225806 -0.1130309
## 4 4 27 0.0000000 -1.00000000 -1.9678962
## 5 5 84 0.9193548 0.83870968 1.3360827
## 6 6 49 0.3548387 -0.29032258 -0.6926763
## 7 7 72 0.7258065 0.45161290 0.6405082
## 8 8 43 0.2580645 -0.48387097 -1.0404635
## 9 9 73 0.7419355 0.48387097 0.6984727
## 10 10 59 0.5161290 0.03225806 -0.1130309
## 11 11 58 0.5000000 0.00000000 -0.1709954
## 12 12 82 0.8870968 0.77419355 1.2201536
## 13 13 50 0.3709677 -0.25806452 -0.6347117
## 14 14 79 0.8387097 0.67741935 1.0462600
## 15 15 89 1.0000000 1.00000000 1.6259054
## 16 16 75 0.7741935 0.54838710 0.8144018
## 17 17 70 0.6935484 0.38709677 0.5245791
## 18 18 59 0.5161290 0.03225806 -0.1130309
## 19 19 67 0.6451613 0.29032258 0.3506855
## 20 20 35 0.1290323 -0.74193548 -1.5041799
boxplot(mydata$score01, mydata$score.minus11,mydata$zscore, names = c("0,1", "-1,1", "z"))

pairs(mydata[-1])

The correlations matrix shows that nomalization methods does not change the distribution of the features.