【发布时间】:2011-10-19 08:59:53
【问题描述】:
这更像是一个 R 编程问题,而不是任何概念问题。我试过了,但我缺乏 R 方面的专业知识让我很沮丧:
我有一个包含列 ID、xR01、xR02、nR01、nR02、xRsum 的数据框 df,我想使用超几何函数生成模拟数据。为一个值执行此操作很简单:
df$xSim01 = rhyper(1, df$nR01, df$nR02, df$xRsum)
但我的问题是,如果我以上述形式应用它,它似乎为所有 20,000 行提供了一个值。这让我觉得如果我遍历每一行它可能会正常工作。那么使用 apply、with 或任何其他函数最有效的方法是什么?
我的第二个问题是:
我想首先模拟这两个 20,000 行以获得第一个模拟数据集,然后想要获得该模拟列的平均值,并以某种方式存储该平均值并重复模拟 N 次。这么一种嵌套循环,想找到有效的方法来节省计算时间。在 R 中的正确代码将不胜感激。谢谢
dat.sim$xR01 <- rhyper(1, dat.obs$nR01, dat.obs$nR02, dat.obs$xRsum)
【问题讨论】:
标签: r loops simulation