【发布时间】:2012-12-12 11:20:53
【问题描述】:
假设我想从对数正态分布中模拟 10 次观察并重复 100 次。我写了一些 R 代码,但由于某种原因它不起作用。代码如下:
for(i in 1:100)
{
x = rlnorm(10, meanlog = 0, sdlog = 1)
}
有什么想法吗?
【问题讨论】:
-
您在循环的每次迭代中都覆盖了
x。你可能想看看replicate(100, rlnorm(10, meanlog = 0, sdlog = 1)) -
或更简单地说,
x <- matrix(rlnorm(1000, m = 0, s = 1), nrow = 100)。然后用rowMeans(x)得到样本均值向量,用apply(m, 1, sd)得到标准差向量。如果你想让它们绑定在一起,DF <- data.frame(mean = rowMeans(x), sd = apply(m, 1, sd)).
标签: r simulation