Вы можете использовать следующий синтаксис для вычисления стандартного отклонения вектора в 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