You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言计算A组随机身高变量大于B组的概率实现方法

计算逻辑原理

你要求解的是两个独立随机抽样的身高值的差大于0的概率,即P(X-Y>0),其中X来自dataset1,Y来自dataset2。
如果假设两组身高均服从正态分布且相互独立,那么二者的差值Z = X-Y同样服从正态分布,分布参数为:

  • 均值:μ_Z = μ₁ - μ₂(μ₁为dataset1身高均值,μ₂为dataset2身高均值)
  • 方差:σ_Z² = σ₁² + σ₂²(σ₁²为dataset1身高方差,σ₂²为dataset2身高方差)
    基于该分布即可直接计算Z大于0的概率。

R语言实现

方法1:参数法(基于正态分布假设)

直接用你已经计算得到的均值、方差参数即可完成计算,代码如下:

# 计算差值Z的分布参数
z_mean <- mean1 - mean2
z_sd <- sqrt(var1 + var2)

# 计算P(Z>0) = 1 - 累积分布中Z<=0的概率
target_prob <- 1 - pnorm(q = 0, mean = z_mean, sd = z_sd)
target_prob

你原示例中的Probability = mean(dataset2)/mean(dataset1)是错误的,该计算得到的是两个均值的比值,和你需要的概率没有任何关联。

方法2:非参数模拟法(无需正态分布假设)

如果不确定身高是否服从正态分布,可以通过重复随机抽样的方式直接模拟得到概率,结果会随着抽样次数增加逐渐收敛到真实值:

# 设置随机种子保证结果可复现
set.seed(123)
# 抽样10万次模拟对比
sim_n <- 100000
# 实际使用时替换为dataset1$height、dataset2$height
x_sam <- sample(dataset1, size = sim_n, replace = TRUE)
y_sam <- sample(dataset2, size = sim_n, replace = TRUE)
# 统计X大于Y的占比即为目标概率
target_prob <- mean(x_sam > y_sam)
target_prob

内容的提问来源于stack exchange,提问作者DaarioNaharis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:15:03