如何计算/标准化零均值和单位方差

时间:2016-06-09 15:57:21

标签: r normalization

什么是"零均值和单位方差"以及如何计算/规范R中的单列文件?我还想将规范化的值分为两类:

  1. 归一化值至少比标准
  2. 高0.5标准偏差(SD)
  3. 标准化值低于平均值
  4. 至少0.5标准偏差(SD)

    由于

1 个答案:

答案 0 :(得分:5)

引用"零均值和单位方差"表示归一化变量的均值为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