Skip to main content
 首页 » 编程设计

R语言计算平均值标准误差

2022年07月19日135落叶

平均值的标准误差用于衡量数据的分散程度,本文介绍两种方法计算平均值的标准误差。

平均值标准误差定义

平均值标准误差 = s / √n

  • s: 样本标准差
  • n: 样本数量

std.error()

plotrix 包提供了该方法,使用之前需要按照加载包:

library(plotrix) 
 
# 示例数据集 
data <- c(3, 4, 4, 5, 7, 8, 12, 14, 14, 15, 17, 19, 22, 24, 24, 24, 25, 28, 28, 29) 
 
# 计算平均值的标准误差 
std.error(data) 
# 2.001447 

计算结果为:2.001447

自定义函数实现

我们定义函数实现同样功能。

std_error <- function(x) sd(x) / sqrt(length(x)) 
 
# 示例数据集 
data <- c(3, 4, 4, 5, 7, 8, 12, 14, 14, 15, 17, 19, 22, 24, 24, 24, 25, 28, 28, 29) 
 
# 计算平均值的标准误差 
std_error(data) 
 
# 2.001447 

两种方法的计算结果一致。

平均值的标准误差说明

平均值的标准误差用于衡量数据值偏离算术平均值的程度。下面两种情况值得注意:

  1. 平均值的标准误差越大,则数据偏离平均值越大。

为了好理解,我们修改上面的数据集,增加一个较大的数值。

#define dataset 
data <- c(3, 4, 4, 5, 7, 8, 12, 14, 14, 15, 17, 19, 22, 24, 24, 24, 25, 28, 28, 150) 
mean(data) 
# 16.3 
 
#calculate standard error of the mean  
std.error(data) 
 
6.978265 

我们注意到 平均值的标准误差从2.001447 增加到 6.978265。这表示当前数据值相较之前更偏离平均值。

  1. 当样本数量增加时,平均值的标准误差会减小

下面通过示例进行说明:

#define first dataset and find SEM 
data1 <- c(1, 2, 3, 4, 5) 
std.error(data1) 
 
0.7071068 
 
#define second dataset and find SEM 
data2 <- c(1, 2, 3, 4, 5, 1, 2, 3, 4, 5) 
std.error(data2) 
 
0.4714045 

第二个数据集简单重复第一个数据集两次。这样均值不变,但数据集长度增大一倍,我们看到标准误差也随之减小。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/122029758
阅读延展