2016-06-09 3 views
4

Что такое «Нулевое среднее и разброс единиц» и как рассчитать/нормализовать его для одного файла столбца в R? Я хотел бы также разделить нормированные значения на два класса:Как рассчитать/нормализовать нулевое среднее и дисперсию единиц

  1. нормализованное значение по меньшей мере 0,5 стандартное отклонение (SD), выше среднего
  2. нормализованное значение по меньшей мере 0,5 стандартное отклонение (SD), ниже среднего

Благодаря

ответ

4

цитата «нулевым средним и единичной дисперсией» означает, что нормированная переменная имеет среднее значение 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 
Смежные вопросы