两个样本的Z-test

Source: http://www.r-bloggers.com/two-sample-z-test/

比较两个独立样本组的均值,这两个样本组取自已知方差的两个总体。

这里比较两个组的平均高度。第一组(A)包括意大利的个体(意大利总体的方差是5);第二组(B)取自德国的个体(德国总体的方差是8.5)。数据如下:

A: 175, 168, 168, 190, 156, 181, 182, 175, 174, 179
B: 185, 169, 173, 173, 188, 186, 175, 174, 179, 180

既然我们有总体的方差,我们必须处理两个样本的Z-test。尽管在R中没有直接的函数来解决这个问题,我们可以很容易地自己创建一个:

$$Z=\frac{(\overline{x}_1-\overline{x}_2)-(\mu_1-\mu_2)}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}$$

z.test2sam = function(a, b, var.a, var.b){
   n.a = length(a)
   n.b = length(b)
   zeta = (mean(a) - mean(b)) / (sqrt(var.a/n.a + var.b/n.b))
   return(zeta)
}

 

函数z.test2sam在输入中接收两个向量(a和b),第一个总体的方差(var.a)和第二个总体的方差(var.b),然后在输出中提供zeta的值。使用此函数我们获得:

a = c(175, 168, 168, 190, 156, 181, 182, 175, 174, 179)
b = c(185, 169, 173, 173, 188, 186, 175, 174, 179, 180)

z.test2sam(a, b, 5, 8.5)
[1] -2.926254


zeta的值大于在alpha等于0.05时,表中zeta的临界值(对双边/双尾检验,表中z值为1.96):于是我们拒绝null hypothesis而更相信alternative hypothesis。我们论断两个均值显著不同。

---------------------------------------------

这里zeta临界值在R的计算方法参考《一个样本的Z-test》 

 

### 如何在R语言中执行两个样本的Z检验 在统计学中,当已知总体的标准差时,可以使用两样本Z检验来判断两个独立样本的比例是否存在显著差异。以下是基于提供的参考资料以及专业知识,在R语言中实现两样本Z检验的方法。 #### 数据准备 假设有两个城市的智商数据,分别表示为 `sample1` 和 `sample2`,并假设它们均服从正态分布且标准差均为15。为了演示方便,这里随机生成一些模拟数据: ```r set.seed(123) # 设置种子以便结果可重复 n1 <- 100 # 样本1大小 n2 <- 120 # 样本2大小 mean1 <- 100 # 样本1平均值 mean2 <- 105 # 样本2平均值 sd_pop <- 15 # 已知总体标准差 # 随机生成数据 sample1 <- rnorm(n1, mean = mean1, sd = sd_pop) sample2 <- rnorm(n2, mean = mean2, sd = sd_pop) # 计算样本均值 x_bar1 <- mean(sample1) x_bar2 <- mean(sample2) ``` #### 手动计算Z统计量 由于已知总体标准差,可以直接通过公式手动计算Z统计量。其公式如下: \[ Z = \frac{(\bar{x}_1 - \bar{x}_2)}{\sqrt{\frac{{\sigma}^2}{n_1} + \frac{{\sigma}^2}{n_2}}} \] 其中: - $\bar{x}_1$ 和 $\bar{x}_2$ 是两个样本的均值, - $n_1$ 和 $n_2$ 是两个样本的数量, - ${\sigma}$ 是已知的总体标准差。 下面是具体的R代码实现: ```r z_statistic <- (x_bar1 - x_bar2) / sqrt((sd_pop^2 / n1) + (sd_pop^2 / n2)) p_value_two_tailed <- 2 * pnorm(-abs(z_statistic)) # 双尾P值 cat("Z statistic:", z_statistic, "\nP-value (two-tailed):", p_value_two_tailed, "\n") ``` 上述代码实现了两样本Z检验的核心部分,并输出了对应的Z统计量和双尾P值[^1]。 #### 使用内置函数验证 虽然R语言没有直接提供专门针对两样本Z检验的内置函数,但可以通过调整逻辑利用`t.test()`或其他自定义方式完成类似的分析。不过对于比例Z检验,可以借助`prop.test()`函数进行验证[^3]。 需要注意的是,如果数据不符合正态分布或方差齐性的前提条件,则应考虑采用非参数方法替代传统Z检验[^4]。 --- ### 结论 以上展示了如何在R语言环境下构建并运行一次完整的两样本Z检验过程。这不仅涉及理论公式的实际编码转换,还强调了对输入数据特性和适用范围的理解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值