如何 calculate/normalize 零均值和单位方差
How to calculate/normalize Zero mean and unit variance
什么是 "Zero mean and unit variance" 以及如何 calculate/normalize 它用于 R 中的单列文件?我还想将归一化值分成两个 类:
- 标准化值至少比平均值高出 0.5 个标准差 (SD)
- 标准化值至少比平均值低 0.5 个标准差 (SD)
谢谢
引号"Zero mean and unit variance"表示标准化变量的均值为0,标准差(和方差)为1。在R中标准化变量的一种方法是使用scale
函数.这是一个例子:
# create vector
set.seed(1234)
temp <- rnorm(20, 3, 7)
# take a look
> mean(temp)
[1] 1.245352
> sd(temp)
[1] 7.096653
# scale vector
tempScaled <- c(scale(temp))
# take a look
> mean(tempScaled)
[1] 1.112391e-17
> sd(tempScaled)
[1] 1
# find values below 0.5 standard deviation in scaled vector
tempScaled[tempScaled < -0.5]
# find values above 0.5 standard deviation in scaled vector
tempScaled[tempScaled > 0.5]
您也可以很容易地手动缩放变量:
tempScaled2 <- (temp - mean(temp)) / sd(temp)
> all.equal(tempScaled, tempScaled2)
[1] TRUE
什么是 "Zero mean and unit variance" 以及如何 calculate/normalize 它用于 R 中的单列文件?我还想将归一化值分成两个 类:
- 标准化值至少比平均值高出 0.5 个标准差 (SD)
- 标准化值至少比平均值低 0.5 个标准差 (SD)
谢谢
引号"Zero mean and unit variance"表示标准化变量的均值为0,标准差(和方差)为1。在R中标准化变量的一种方法是使用scale
函数.这是一个例子:
# create vector
set.seed(1234)
temp <- rnorm(20, 3, 7)
# take a look
> mean(temp)
[1] 1.245352
> sd(temp)
[1] 7.096653
# scale vector
tempScaled <- c(scale(temp))
# take a look
> mean(tempScaled)
[1] 1.112391e-17
> sd(tempScaled)
[1] 1
# find values below 0.5 standard deviation in scaled vector
tempScaled[tempScaled < -0.5]
# find values above 0.5 standard deviation in scaled vector
tempScaled[tempScaled > 0.5]
您也可以很容易地手动缩放变量:
tempScaled2 <- (temp - mean(temp)) / sd(temp)
> all.equal(tempScaled, tempScaled2)
[1] TRUE