Jav*_*ier 5 iteration loops r 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`
Run Code Online (Sandbox Code Playgroud)
Señ*_*r O 10
通过迭代存储模型结果的最简单方法是list
:
List = list()
for(i in 1:100)
{
LM = lm(rnorm(10)~rnorm(10))
List[[length(List)+1]] = LM
}
Run Code Online (Sandbox Code Playgroud)
您也许可以for
完全避免循环。但是,至于如何完成任务,您只需对存储值的任何对象建立索引即可。例如,
# outside the for loop
trans <- list()
# inside the for loop
trans[[paste(gamma, c, sep="_")]] <- ...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26044 次 |
最近记录: |