Как рассчитать стандартное отклонение в R (с примерами)


Вы можете использовать следующий синтаксис для вычисления стандартного отклонения вектора в R:

sd(x)

Обратите внимание, что эта формула вычисляет стандартное отклонение выборки по следующей формуле:

√ Σ (x i – μ) 2 / (n-1)

куда:

  • Σ : причудливый символ, означающий «сумма».
  • x i : i -е значение в наборе данных
  • μ : среднее значение набора данных
  • n: размер выборки

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1: Расчет стандартного отклонения вектора

Следующий код показывает, как вычислить стандартное отклонение одного вектора в R:

#create dataset
data <- c(1, 3, 4, 6, 11, 14, 17, 20, 22, 23)

#find standard deviation
sd(data)

[1] 8.279157

Обратите внимание, что вы должны использовать na.rm = TRUE для расчета стандартного отклонения, если в наборе данных отсутствуют значения:

#create dataset with missing values
data <- c(1, 3, 4, 6, NA, 14, NA, 20, 22, 23)

#attempt to find standard deviation
sd(data)

[1] NA

#find standard deviation and specify to ignore missing values
sd(data, na. rm = TRUE )

[1] 9.179753

Пример 2: Расчет стандартного отклонения столбца во фрейме данных

Следующий код показывает, как вычислить стандартное отклонение одного столбца во фрейме данных:

#create data frame
data <- data.frame(a=c(1, 3, 4, 6, 8, 9),
 b=c(7, 8, 8, 7, 13, 16),
 c=c(11, 13, 13, 18, 19, 22),
 d=c(12, 16, 18, 22, 29, 38))

#find standard deviation of column a
sd(data$a)

[1] 3.060501

Пример 3: Расчет стандартного отклонения нескольких столбцов во фрейме данных

Следующий код показывает, как вычислить стандартное отклонение нескольких столбцов во фрейме данных:

#create data frame
data <- data.frame(a=c(1, 3, 4, 6, 8, 9),
 b=c(7, 8, 8, 7, 13, 16),
 c=c(11, 13, 13, 18, 19, 22),
 d=c(12, 16, 18, 22, 29, 38))

#find standard deviation of specific columns in data frame
apply(data[ , c('a', 'c', 'd')], 2, sd)

 a c d 
3.060501 4.289522 9.544632 

Дополнительные ресурсы

Как найти диапазон в R
Как рассчитать выборку и дисперсию населения в R
Как удалить выбросы в R