【问题标题】:How to calculate/normalize Zero mean and unit variance如何计算/归一化零均值和单位方差
【发布时间】:2016-10-10 09:35:30
【问题描述】:

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

  1. 标准化值至少比平均值高 0.5 个标准差 (SD)
  2. 标准化值至少比平均值低 0.5 个标准差 (SD)

谢谢

【问题讨论】:

    标签: r normalization


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-01
      • 2017-10-28
      • 2014-05-27
      • 2018-09-16
      • 2015-09-18
      • 2017-03-04
      • 1970-01-01
      • 2022-06-13
      相关资源
      最近更新 更多