我有以下问题:
我有一个for-loop =&gt; for (i in 1:20){t <- c(t,print(i:20))} ...
我知道如何将所有结果保存在一个向量中,但我想将EACH迭代的结果保存为自己的向量(就像你在上面看到的那样)=&gt;所以,例如t[18]
仅为18 19 20,而t[20]
仅为20
我也想过一个矩阵,但是每行必须以&#34; 20&#34;所以剩下的就需要填满&#34; 0&#34;在20x20矩阵中......
答案 0 :(得分:1)
为此目的的列表怎么样:
lst <- list()
for (i in 1:20){
lst[[i]] <- i:20
}
然后通过调用例如访问它来访问它
lst[[18]]
#[1] 18 19 20
答案 1 :(得分:1)
我会像这样调整@ beginneR的答案:
lst <-vector("list",20)
for (i in 1:20){
lst[[i]] <- i:20
}
这只是一个很小的补充,但如果你增加列表的大小(例如数百万),如果在性能方面有很大的不同。
答案 2 :(得分:0)
我非常同意@beginneR,但如果您真的想在循环中使用新变量,可以使用assign()。
for (i in 1:20){
assign(paste("t",i, sep = ""), i:20)
}
这将根据需要为您提供变量t1,t2等。我强烈建议使用列表,这种方法很难扩展。