我正在使用 R 中的三角分布进行蒙特卡洛模拟。
rtriangle(n = 10000, a = 9100, b = 13234, c = 11585)
在此示例中,我进行了 10,000 次迭代,其中“a”是最小值,“b”是最大值,“c”是平均值。这些值代表单个房屋的建筑成本。该模拟的结果将是 10,000 次迭代产生的值的分布。
我想做的事:
谢谢你。
编写一个辅助函数
sim
并用replicate
调用它924次。
sim <- function(n, a, b, c = (a + b)/2) {
triangle::rtriangle(n, a, b, c = c) |> median()
}
R <- 924L
set.seed(2024)
medians_vec <- replicate(R, sim(n = 10000, a = 9100, b = 13234, c = 11585)) |> c()
head(medians_vec)
#> [1] 11362.95 11338.21 11373.15 11370.72 11359.24 11364.01
hist(medians_vec, main = "Medians' Empirical Distribution", xlab = "Median")
创建于 2024-08-15,使用 reprex v2.1.0