【发布时间】:2019-04-24 22:20:45
【问题描述】:
我正在尝试在模拟中使用分位数来获得 90% 的间隔。我有一个数据集,其中每一行都包含一个平均值、标准差和要运行的模拟次数。
当我尝试运行代码时,出于某种原因,它只会为整个数据集创建分位数,而不是使用每行中包含的信息作为模拟参数。有什么方法可以让它对每一行都有效吗?
这是我正在使用的示例:
avg <- c(24, 20, 29, 17, 22, 21)
sd <- c(5, 4, 5, 3, 3, 3.6)
sims <- 1000
df <- data.frame(avg, sd, sims)
df$Low90 <- round(quantile(rnorm(n = sims, mean = df$avg, sd = df$sd), prob = 0.05), 2)
df$High90 <- round(quantile(rnorm(n = sims, mean = df$avg, sd = df$sd), prob = 0.95), 2)
df
avg sd sims Low90 High90
1 24 5.0 1000 14.13 32.32
2 20 4.0 1000 14.13 32.32
3 29 5.0 1000 14.13 32.32
4 17 3.0 1000 14.13 32.32
5 22 3.0 1000 14.13 32.32
6 21 3.6 1000 14.13 32.32
【问题讨论】:
标签: r simulation