Функция sd() в R - Вычисление стандартного отклонения
Функция sd() в R используется для вычисления стандартного отклонения выборки.
Стандартное отклонение измеряет разброс данных; чем больше значение, тем сильнее разбросаны данные. Это арифметический квадратный корень из дисперсии.
Синтаксис функции sd() выглядит следующим образом:
sd(x, na.rm = FALSE)
Описание параметра:
xВходной числовой вектор.
na.rmЛогическое значение, по умолчанию FALSE, указывающее, следует ли удалять пропущенные значения NA.
Пример
# Два набора данных, одинаковое среднее, разные стандартные отклонения
group1 <- c(85, 86, 84, 85, 86, 84, 85, 85)
group2 <- c(60, 70, 85, 90, 95, 100, 75, 105)
# Вычисление среднего и стандартного отклонения
print(paste("Группа 1 - Среднее:", mean(group1), "Стандартное отклонение:", sd(group1)))
print(paste("Группа 2 - Среднее:", mean(group2), "Стандартное отклонение:", sd(group2)))
group1 <- c(85, 86, 84, 85, 86, 84, 85, 85)
group2 <- c(60, 70, 85, 90, 95, 100, 75, 105)
# Вычисление среднего и стандартного отклонения
print(paste("Группа 1 - Среднее:", mean(group1), "Стандартное отклонение:", sd(group1)))
print(paste("Группа 2 - Среднее:", mean(group2), "Стандартное отклонение:", sd(group2)))
Выполнение приведенного выше кода дает следующий вывод:
[1] "第一组 - 均值: 85 标准差: 0.925820099772551" [1] "第二组 - 均值: 85 标准差: 15.1186472433265"
Стандартное отклонение обычно используется для оценки вероятности в нормальном распределении. Около 68% данных попадают в пределы ±1 стандартного отклонения от среднего:
Пример
# Генерация нормально распределённых данных
set.seed(123)
scores <- rnorm(1000, mean = 70, sd = 10)
# Вычисление среднего и стандартного отклонения
m <- mean(scores)
s <- sd(scores)
# Вычисление доли в пределах ±1 стандартного отклонения
within_1sd <- mean(scores >= m - s & scores <= m + s)
print(paste("Среднее:", round(m, 2)))
print(paste("Стандартное отклонение:", round(s, 2)))
print(paste("Доля в пределах ±1 стандартного отклонения:", round(within_1sd * 100, 1), "%"))
set.seed(123)
scores <- rnorm(1000, mean = 70, sd = 10)
# Вычисление среднего и стандартного отклонения
m <- mean(scores)
s <- sd(scores)
# Вычисление доли в пределах ±1 стандартного отклонения
within_1sd <- mean(scores >= m - s & scores <= m + s)
print(paste("Среднее:", round(m, 2)))
print(paste("Стандартное отклонение:", round(s, 2)))
print(paste("Доля в пределах ±1 стандартного отклонения:", round(within_1sd * 100, 1), "%"))
Выполнение приведенного выше кода дает следующий вывод:
[1] "均值: 69.97" [1] "标准差: 10.03" [1] "±1 标准差范围内的比例: 68.1 %"Другие расширения
Примеры на языке R