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

大数定律验证场景下R语言随机数计算代码正确性求助

代码问题诊断

你的现有代码完全不符合验证大数定律的需求,核心逻辑偏差较大,具体问题如下:

  • 第一步生成1000个U(0,1)分布的随机数a = runif(1000,0,1)是符合需求的(如果你要的均匀分布参数就是0和1),但后续b = pnorm(a, mean = 60.5, sd = 0.1)的操作完全无意义,和你的需求没有关联。
  • 循环逻辑完全偏离需求:你没有用一开始生成的均匀分布序列计算前i个值的均值,反而每次生成指数分布的随机数再求均值,完全没有对应你要实现的功能。
  • 编码习惯问题:你用内置函数名mean作为自定义变量名,会覆盖R的内置mean()函数,容易触发后续隐式错误。
正确实现代码

你要验证大数定律的逻辑是:随着样本量增大,样本均值逐步逼近总体的理论期望,U(0,1)的理论期望是0.5,你可以参考以下代码:

rm(list=ls())
# 固定随机种子方便结果复现
set.seed(123)
# 生成1000个U(0,1)分布的随机数
x <- runif(1000, 0, 1)
# 初始化存储前i个样本均值的向量
sample_mean <- numeric(1000)
for(i in 1:1000){
  # 计算前i个样本的均值
  sample_mean[i] <- mean(x[1:i])
}
# 绘图验证:样本量越大,均值越接近0.5
n <- 1:1000
plot(sample_mean ~ n, type = "l", xlab = "样本量", ylab = "前n个样本的均值", main = "大数定律验证")
# 加一条理论均值的参考线
abline(h = 0.5, col = "red", lwd = 2)

内容的提问来源于stack exchange,提问作者Athika Selvya Suhendar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:36:04