r - 在R中存储循环迭代的结果

标签 r loops iteration storing-information

我正在尝试存储以下代码的结果,但是我只能想出一种解决方案,以最小的残差平方和保存模型的结果。这是有用的,直到结果在c和γ的范围内为止,因此我需要评估其他点的特征。为此,我需要存储每次迭代的结果。有人知道在这种情况下该怎么做吗?

提前致谢!

dlpib1 <- info$dlpib1
scale <- sqrt(var(dlpib1))
RSS.m <- 10

for (c in seq(-0.03,0.05,0.001)){
  for (gamma in seq(1,100,0.2))
    {
    trans <- (1+exp(-(gamma/scale)*(dlpib1-c)))^-1
    grid.regre <-lm(dlpib ~ dlpib1 + dlpib8 + trans + trans*dlpib1 + 
                  + I(trans*dlpib4) ,data=info) 
coef <- grid.regre$coefficients
RSS <- sum(grid.regre$residuals^2)

if (RSS < RSS.m){
  RSS.m <- RSS
  gamma.m <- gamma
  c.m <- c
  coef.m <- coef
  }
 }
}
grid <- c(RSS=RSS.m,gamma=gamma.m,c=c.m,coef.m)
grid`

最佳答案

您可能可以完全避免for循环。但是,关于如何完成任务,您只需索引要在其中存储值的任何对象。例如,

# outside the for loop
trans <- list()

# inside the for loop
trans[[paste(gamma, c, sep="_")]] <- ... 

关于r - 在R中存储循环迭代的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19057628/

相关文章:

r - 小数据帧导致R崩溃

python - 从数组创建 Pandas 数据框

c - C中循环结束时如何执行指令

python - 如何在 python 中迭代条件检查?

python - 测试 python 函数的非确定性行为

java - 为什么在这段代码中我不能让 indexOf() 等于 0 以外的任何值?

r - 4 列宽数据框到 3 列长数据框

r - on.exit 通过 eval 调用在函数结束之前触发

r - max.col(R语言)的反函数是什么

每个循环工作的 Java