1. 实际问题

国家环保标准规定,某类饮用水源中特定细菌的含量不得超过 50 (CFU/mL)。 研究人员在某水域随机采集了 10 个水样,测得细菌含量数据。

问题:某水域的细菌平均含量是否显著高于安全标准值 50?


2. 解决问题

第一步:将实际问题提炼为统计问题

  • 总体:均值\(\mu_0\)=50;
  • 样本:样本数n=10,数值依次为:33,24,19,43,53,73,85,81,84,66; 均值为=56.1,标准差为25.25184。
x <- c(33,24,19,43,53,73,85,81,84,66)


cat("样本均值为:", mean(x), "\n")
## 样本均值为: 56.1
cat("样本标准差为:", sd(x), "\n")
## 样本标准差为: 25.25184

第二步:建立假设

我们需要建立原假设(\(H_0\))和备择假设(\(H_1\)):

  • 原假设 (\(H_0\))\(\mu \le \mu_0\)(该水域细菌平均含量未超过标准,水质合格)。

  • 备择假设 (\(H_1\))\(\mu > \mu_0\)(该水域细菌平均含量显著高于标准,水质超标)。

第三步:选择检验方法和统计量

  • 方法选择:由于我们只有一组样本数据,且总体方差未知,样本量较小 (\(n=10\)),因此选择 单样本 t-检验 (One-Sample t-test)

第四步:计算统计量和 p 值

# 1. 录入数据
x <- c(33, 24, 19, 43, 53, 73, 85, 81, 84, 66)

# 2. 执行单样本 t-检验
# mu = 50: 检验的标准值
# alternative = "greater": 因为是检验“是否显著高于”,所以是单侧检验
test_result <- t.test(x, mu = 50, alternative = "greater")

# 3. 输出检验结果
print(test_result)
## 
##  One Sample t-test
## 
## data:  x
## t = 0.7639, df = 9, p-value = 0.2322
## alternative hypothesis: true mean is greater than 50
## 95 percent confidence interval:
##  41.46198      Inf
## sample estimates:
## mean of x 
##      56.1

第五步:选择显著性水平 \(\alpha\) 并做出判断

  • 显著性水平:设定 \(\alpha = 0.05\)
  • 结果读取
    • 根据代码运行结果,t 统计量约为 0.7639。
    • P 值 (p-value) 约为 0.2322。
  • 判断逻辑
    • 如果 \(P < 0.05\),拒绝 \(H_0\)
    • 如果 \(P \ge 0.05\),不拒绝 \(H_0\)
# 获取 P 值
p_val <- test_result $ p.value

# 自动判断并输出结论
if(p_val < 0.05) {
  cat("因为 P 值 (", round(p_val, 4), ") < 0.05,所以拒绝原假设 H0。")
} else {
  cat("因为 P 值 (", round(p_val, 4), ") > 0.05,所以不能拒绝原假设 H0。")
}
## 因为 P 值 ( 0.2322 ) > 0.05,所以不能拒绝原假设 H0。