R sd() 函数 - 计算标准差
R sd() 函数用于计算样本的标准差。
标准差衡量数据的离散程度,值越大表示数据越分散。它是方差的算术平方根。
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("第一组 - 均值:", mean(group1), "标准差:", sd(group1)))
print(paste("第二组 - 均值:", 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("第一组 - 均值:", mean(group1), "标准差:", sd(group1)))
print(paste("第二组 - 均值:", 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 语言实例