【发布时间】:2018-03-15 15:18:16
【问题描述】:
我正在使用两个 for 循环来运行一些模拟。一个每次迭代将 N 增加 50,另一个在其中运行模拟 1000 次。然而,就我目前所拥有的结果数据框而言,它不会保存 N 的每个不同序列值的输出,而是仅显示序列中 N 的最后一个值的最终输出值,在这种情况下,N = 500 的值。
所以我想知道有没有办法制作一个数据框来保留所有不同 N 值的所有输出值?
for (N in seq(100,500,50)) {
P <- rep(NA,1000)
for (i in 1:1000) {
P[i] <- function()
}
result <- data.frame(P) # this is simplified
}
【问题讨论】:
-
初始化
data.frame并将其填充到循环中。 -
对不起,当您说初始化 data.frame 时,您的意思是我应该在 for 循环之外创建一个空白数据框,然后用迭代结果填充它?
-
假设
function()的输出是一个data.frame,你可以将P中的每个输出作为一个列表存储,但是你需要在循环外初始化P`P . Your for`循环将在P中创建1000个条目,每个输出一个f(i)。 -
@Mako212 所以这里的 function() 实际上是 pchisq() 函数。因此,每 1000 次运行的最终结果都是 p 值,然后我将其放入结果数据框中。像你建议的那样列出一份清单仍然有用吗?