How to standardize matrix elements in R?


The standardization is the process of converting a value to another value so that the mean of the set of values from which the original value was taken becomes zero and the standard deviation becomes one. To standardize matrix elements, we can use data.Normalization function of clusterSim package but we need to make sure that we set the type argument to n1 because that corresponds to standardization with mean zero and standard deviation 1.

Loading clusterSim package −

library("clusterSim")

Example

 Live Demo

M1<-matrix(rnorm(25,5,1),ncol=5)
M1

output

[,1] [,2] [,3] [,4] [,5]
[1,] 5.556224 2.934854 6.239076 4.501244 5.697287
[2,] 5.663404 4.404059 4.458465 2.875686 2.939572
[3,] 4.254188 4.168798 5.716965 5.003396 5.501523
[4,] 4.720976 5.032672 5.511445 4.678973 5.289942
[5,] 2.882521 5.694891 4.996887 4.825759 3.951424

Example

data.Normalization(M1,type="n1")

output

[,1] [,2] [,3] [,4] [,5]
[1,] -0.84326235 -1.4331856 0.03959949 0.006214853 -0.6799208
[2,] 0.93062056 0.5714407 -0.31945831 0.065871281 -0.7808809
[3,] -1.18376086 -0.6408459 0.33301120 -0.026702496 -0.6877277
[4,] 1.00673967 0.5514687 -1.40208868 -1.435823004 1.3452576
[5,] 0.08966297 0.9511221 1.34893630 1.390439366 0.8032717

Example

attr(,"normalized:shift")

output

1 2 3 4 5
5.473020 4.598571 5.143872 4.673848 4.880121

Example

attr(,"normalized:scale")

output

1 2 3 4 5
1.0620129 0.9269254 0.9739280 1.2254604 0.9488868

Example

 Live Demo

M2<-matrix(rpois(100,10),ncol=10)
M2

output

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 15 10 14 15 5 3 11 11 11 7
[2,] 10 8 6 13 4 15 8 6 13 14
[3,] 2 10 5 15 4 10 9 7 6 13
[4,] 12 5 14 11 7 13 8 12 8 7
[5,] 11 11 12 15 10 9 9 12 19 8
[6,] 10 12 8 9 6 12 10 15 11 10
[7,] 13 12 11 9 7 8 17 17 18 13
[8,] 11 8 8 6 10 6 9 8 13 12
[9,] 9 8 10 13 12 14 8 7 4 13
[10,] 7 10 4 7 14 8 10 13 11 11

Example

data.Normalization(M2,type="n1")

output

data.Normalization(M2,type="n1")
        [,1]       [,2]        [,3]         [,4]          [,5]     [,6]
[1,]  -1.9409899  -0.8923761  1.86543426  -1.67507682  -1.1484061  -1.4356319
[2,]  0.9704950  1.5101749  -0.64037295  -0.09481567  -1.6477131  -0.8114441
[3,]  0.3234983  0.1372886  1.03016519  -0.09481567   1.8474359   -0.4993502
[4,]  0.3234983  0.8237318  -0.64037295  -1.04297236   0.3495149   2.3094948
[5,]  0.9704950  0.1372886  0.75174216  0.53728879    -0.1497921  -0.1872563
[6,]  -0.3234983  1.5101749  0.19489612  -0.09481567    0.8488219   0.4369314
[7,] -0.6469966  -0.5491545  -1.47564202  -0.41086790  -0.6490991 -0.4993502
[8,] -0.9704950  -1.2355977  -0.08352691  -0.09481567  -0.1497921  0.4369314
[9,]  0.0000000  -0.8923761  -0.91879598  1.80149771    0.3495149   0.1248376
[10,]  1.2939933  -0.5491545  -0.08352691  1.16939325  0.3495149   0.1248376
     [,7]         [,8]       [,9]     [,10]
[1,] -0.9091373 2.07152663 0.76931647 1.4367622
[2,] 0.6060915 0.74362494 -0.62944075 -0.2535463
[3,] 1.2121831 -1.11543742 0.06993786 0.1690309
[4,] -1.5152288 0.21246427 0.06993786 -0.6761234
[5,] -0.6060915 -0.84985708 -0.27975144 -1.5212777
[6,] -0.3030458 0.47804461 -1.67850865 -0.6761234
[7,] -0.9091373 -0.05311607 0.06993786 0.5916080
[8,] 1.5152288 -0.05311607 0.06993786 1.0141851
[9,] 0.3030458 -0.05311607 2.16807368 1.0141851
[10,] 0.6060915 -1.38101775 -0.62944075 -1.0987005

Example

attr(,"normalized:shift")

output

1 2 3 4 5 6 7 8 9 10 12.0 10.6 10.3 9.3 10.3 10.6 10.0 9.2 8.8 8.6

Example

attr(,"normalized:scale")

output

1 2 3 4 5 6 7 8
3.091206 2.913570 3.591657 3.164034 2.002776 3.204164 3.299832 3.765339
9 10
2.859681 2.366432

Example

 Live Demo

M3<-matrix(round(runif(36,2,10),0),ncol=6)
M3

output

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

Example

data.Normalization(M3,type="n1")

output

      [,1]        [,2]       [,3]        [,4]      [,5]        [,6]
[1,]  0.8017837  1.4647150  1.5430335 -0.6358384  0.1331559  0.8017837
[2,] -1.3363062 -1.3315591 -0.7715167 -1.1808427  0.9320914 -0.2672612
[3,] -0.8017837 -0.5326236  0.1543033  1.5441789 -0.2663118 -0.8017837
[4,] -0.2672612 -0.5326236 -0.3086067  0.4541703 -1.0652473 -1.3363062
[5,]  0.2672612  0.6657796 -1.2344268 -0.6358384 -1.0652473  0.2672612
[6,]  1.3363062  0.2663118  0.6172134  0.4541703  1.3315591  1.3363062

Example

attr(,"normalized:shift")

output

1 2 3 4 5 6
5.500000 5.333333 4.666667 5.166667 6.666667 6.500000

Example

attr(,"normalized:scale")

output

1 2 3 4 5 6
1.870829 2.503331 2.160247 1.834848 2.503331 1.870829

Example

 Live Demo

M4<-matrix(rexp(16,0.50),nrow=4)
M4

output

        [,1]      [,2]      [,3]     [,4]
[1,] 1.8392684 0.1260047 1.8536475 0.3727895
[2,] 2.3926115 2.9282159 0.5356917 0.6675259
[3,] 0.6198705 5.3994087 0.7795360 1.6238094
[4,] 3.9293381 0.6119497 0.8212652 0.6498672

Example

data.Normalization(M4,type="n1")

output

           [,1]       [,2]       [,3]        [,4]
[1,] -0.76247841   0.6334982  0.2251928  1.2625561
[2,] -0.08745082  -1.0914747 -0.8013569 -0.6296948
[3,]  1.43733539  -0.5780098 -0.7465997 -0.9525044
[4,] -0.58740616   1.0359864  1.3227638  0.3196432

Example

attr(,"normalized:shift")

output

1 2 3 4
1.587821 1.762592 2.272075 3.611091

Example

attr(,"normalized:scale")

output

1 2 3 4
0.4923935 1.5823407 2.2370054 1.3130271

Updated on: 14-Oct-2020

984 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements