我使用两个for循环来运行一些模拟。每次迭代增加N 50,其他迭代增加N,模拟运行1000次。然而,根据我目前的结果,结果数据帧不会为每个不同的N序列值保存输出,而是仅显示序列中N的最后一个值的最终输出值,在这种情况下,N =的值500。
所以我想知道是否有办法制作一个数据帧来保存所有不同N值的所有输出值?
GC overhead limit exceeded
答案 0 :(得分:0)
要存储循环中的值,首先需要初始化对象,然后可以通过指定索引一次添加一个值。
# create an empty data frame
P <- data.frame(PValue = numeric(), NValue=numeric())
P2 <- list()
for (N in 1:10){
for (i in 1:10){
P[i, 1] <- pchisq(i, df=3)
P[i, 2] <- N
}
# store each output from the inner loop in a list
P2[[N]] <- P
}
# collapse the list down to a single data frame
final <- do.call(rbind, P2)