如何在R中提取多次蒙特卡洛模拟的50分位数并编译为值序列
R中三角分布蒙特卡洛模拟的解决方案
前置准备
首先确保你已安装并加载triangle包:
install.packages("triangle") library(triangle)
1. 提取单次模拟的50分位数
生成模拟数据后,用quantile()函数指定分位数为0.5即可提取中位数(50分位数):
# 生成10000次迭代的模拟数据 single_sim <- rtriangle(n = 10000, a = 9100, b = 13234, c = 11585) # 提取50分位数 single_median <- quantile(single_sim, probs = 0.5)
2. 重复运行模拟924次并收集每次的50分位数
使用replicate()函数可以高效重复执行模拟逻辑,直接返回924个中位数组成的向量:
# 重复924次模拟,每次返回对应50分位数 median_sequence <- replicate(924, { sim_data <- rtriangle(n = 10000, a = 9100, b = 13234, c = 11585) quantile(sim_data, probs = 0.5) })
结果说明
median_sequence就是你需要的924个数值组成的序列,每个值对应一次模拟的建造成本中位数。你可以用str(median_sequence)查看结构,或用hist(median_sequence)可视化分布。
内容的提问来源于stack exchange,提问作者hadi
相关产品推荐
相关产品推荐

