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

R语言从正态分布抽样、用自定义估计器计算均值并循环执行的方法

R语言实现自定义估计量模拟的方法

注意事项

  • R内置正态抽样函数rnorm()的第三个入参为标准差,题目要求的N(4,10)是均值为4、方差为10的正态分布,因此调用时需要传入标准差sqrt(10)
  • 本次抽样样本量固定为20,自定义估计量的分母为20-4=16,计算时直接使用即可

显式循环实现代码

# 1. 定义模拟参数
n <- 20          # 单次抽样的样本量
pop_mean <- 4    # 总体正态分布的均值
pop_var <- 10    # 总体正态分布的方差
k <- 5000        # 模拟重复的次数,可按需修改

# 2. 初始化存储结果的k行1列矩阵
result_mat <- matrix(NA, nrow = k, ncol = 1)
colnames(result_mat) <- "Yhat估计值" # 自定义列名提升可读性

# 3. 循环执行k次抽样与估计
for (i in 1:k) {
  # 抽取20个服从N(4,10)的观测值
  sample_y <- rnorm(n, mean = pop_mean, sd = sqrt(pop_var))
  # 计算自定义估计量Yhat
  Yhat <- sum(sample_y) / (n - 4)
  # 将结果写入对应位置
  result_mat[i, 1] <- Yhat
}

# 可选:查看前6条结果验证正确性
head(result_mat)

高效向量化实现(无需显式循环)

如果k的数值很大,向量化写法的运行效率远高于显式循环:

# 向量化实现等价逻辑,结果格式同样为k行1列的矩阵
result_mat_vec <- matrix(
  replicate(k, sum(rnorm(20, 4, sqrt(10)))/16),
  ncol = 1,
  dimnames = list(NULL, "Yhat估计值")
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:57:03