R,相关性:是否存在将num矢量转换为标准单位矢量的函数

jd.*_*jd. 11 r normalization mean correlation standard-deviation

在给定数字向量的R中是否有一个函数,返回另一个向量,其中标准单位对应于每个值?

其中......标准单位:一个值是多少个SD +或 - 来自平均值

例:

 x <- c(1,3,4,5,7)    # note: mean = 4, sd = 2
 foo(x) 
 [1]  -1.5  -0.5  0.0  0.5  1.5
Run Code Online (Sandbox Code Playgroud)

这个(虚构的)"su"功能是否已包含在包中?

谢谢.

Sac*_*amp 20

是的,scale():

x <- c(1,3,4,5,7)
scale(x)
Run Code Online (Sandbox Code Playgroud)


And*_*rie 12

你正在寻找的功能是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
Run Code Online (Sandbox Code Playgroud)

请注意,答案与您在问题中发布的答案不同.原因是x中的标准偏差实际上是2.23,而不是2.

sd(x)
[1] 2.236068
Run Code Online (Sandbox Code Playgroud)


NPE*_*NPE 5

简单地说(x-mean(x))/sd(x),或者我在这里遗漏了一些微妙之处?