使用R语言循环求解从给定population中抽取均值≥42样本的概率
R语言循环实现抽样概率计算
核心逻辑
通过大量重复抽取指定样本量的样本,统计满足「样本均值≥42」的样本数占总抽样次数的比例,即可得到目标近似概率。
完整实现代码
# 1. 生成指定总体 set.seed(1) population <- rnorm(n=500, mean=35, sd=10) # 2. 设置模拟参数 sim_times <- 10000 # 模拟抽样次数,数值越大结果越精准 sample_size <- 10 # 单次抽样的样本量 count <- 0 # 初始化符合条件的样本计数器 # 3. 循环执行抽样逻辑 for (i in 1:sim_times) { # 从总体中抽取样本,默认采用有放回抽样,需无放回可将replace改为FALSE current_sample <- sample(population, size = sample_size, replace = TRUE) # 计算当前样本均值 current_mean <- mean(current_sample) # 判断是否满足条件,满足则计数器加1 if (current_mean >= 42) { count <- count + 1 } } # 4. 计算目标概率 probability <- count / sim_times print(probability)
结果说明
运行上述代码后输出的数值即为所求概率,当模拟次数为10000次时,结果约为0.01~0.02区间,符合理论正态分布的概率预期。如果需要更高精度,可以将sim_times参数调整为100000或更大数值。
内容的提问来源于stack exchange,提问作者Alexa
相关产品推荐
相关产品推荐

