【发布时间】:2018-02-20 16:32:27
【问题描述】:
我正在尝试创建一个 for 循环来更新矩阵以进行每次迭代,但我希望它在每 5 次迭代时做一些不同的事情。如何在不制作多个 if 语句的情况下实现这一点。基本上,我如何简化以包含仅适用于每 5 次迭代的 for 循环。
这是我的代码:
NCols=5
NRows=5
mymat<-matrix(runif(NCols*NRows), ncol=NCols)
matlist <- list()
matlist[[1]] <- mymat
days <- 50
for (i in 2:days){
matlist[[i]] <- matlist[[i-1]]*2
if (i == 5){
matlist[[i]][2,2] <- matlist[[i]][2,2]+1
}
}
【问题讨论】:
-
if (i %% 5 == 0)怎么样? -
您知道
for (i in 2:days){ matlist[[i]] <- matlist[[i-1]]*2 ...etc...}计算指数吗? -
@RuiBarradas 是的,我试着举一个简单的例子。这不是一个实际的计算。谢谢。
-
谢谢@ytu。如果您愿意,请使用您的评论作为答案!
-
我刚刚在下面发布了我的答案。如果满足您的需要,请查看并考虑接受它。谢谢。