Function that converts a vector of numbers to a vector of standard units
yes, scale()
:
x <- c(1,3,4,5,7)
scale(x)
The function you are looking for is scale
.
scale(x)
[,1]
[1,] -1.3416408
[2,] -0.4472136
[3,] 0.0000000
[4,] 0.4472136
[5,] 1.3416408
attr(,"scaled:center")
[1] 4
attr(,"scaled:scale")
[1] 2.236068
Note that the answers are not identical to what you posted in your question. The reason is that the standard deviation in your x is actually 2.23, not 2.
sd(x)
[1] 2.236068
How about simply (x-mean(x))/sd(x)
, or am I missing some subtlety here?