每次循环我有以下问题: 我有一个for循环=>for (i in 1:20){t <- c(t,print(i:20))} ...
创建一个新的载体中的R
我知道如何保存所有的结果在一个载体,但我想保存将每次迭代的结果作为自己的向量(就像你上面看到的那样)=>以便例如t[18]
只是18 19 20和t[20]
只是20 我也想过一个矩阵,但每行必须以“20”结尾,所以其余部分需要在20x20矩阵中填充“0”...
每次循环我有以下问题: 我有一个for循环=>for (i in 1:20){t <- c(t,print(i:20))} ...
创建一个新的载体中的R
我知道如何保存所有的结果在一个载体,但我想保存将每次迭代的结果作为自己的向量(就像你上面看到的那样)=>以便例如t[18]
只是18 19 20和t[20]
只是20 我也想过一个矩阵,但每行必须以“20”结尾,所以其余部分需要在20x20矩阵中填充“0”...
如何实现这一目的的清单:
lst <- list()
for (i in 1:20){
lst[[i]] <- i:20
}
然后通过调用如它存取权限
lst[[18]]
#[1] 18 19 20
我非常同意@beginneR,但是如果你真的想要循环中的新变量,你可以使用assign()。
for (i in 1:20){
assign(paste("t",i, sep = ""), i:20)
}
这会给你变量t1,t2等你想要的。我再次强烈建议使用这种方法很难扩展。
我会调整@初学者的回答是这样的:
lst <-vector("list",20)
for (i in 1:20){
lst[[i]] <- i:20
}
这只是一个小除了,但如果使得性能方面有很大的区别,如果你增加了列表(例如数百万)的大小。
这是否真的需要向量?它可能是一个列表吗?更多的上下文会有帮助 – 2014-11-04 13:58:11
这是功课吗? – everton 2014-11-04 16:16:22