如何将元素添加到R中的列表(循环)

我想添加元素到一个循环中的列表(我不知道究竟有多less)

喜欢这个:

l <- list(); while(...) l <- new_element(...); 

最后, l[1]是我的第一个元素, l[2]我的第二个元素,依此类推。

你知道如何进行?

您不应该在循环中使用c添加到您的列表中,因为这可能会导致非常慢的代码。 基本上当你做c(l, new_element) ,列表的全部内容都被复制。 而不是那个,你需要通过索引访问列表的元素。 如果你知道你的列表需要多长时间,最好使用l <- vector("list", N)将它初始化为这个大小。 如果你没有,你可以初始化它的长度等于一些大的数字(例如,如果你有一个迭代次数的上限),然后在循环完成后,select非NULL元素。 无论如何,基本的观点是你应该有一个索引来跟踪列表元素,并添加使用例如

 i <- 1 while(...) { l[[i]] <- new_element i <- i + 1 } 

有关更多信息请参阅Patrick Burns的The R Inferno (第2章)。

以下将元素添加到循环中的列表中。

 l<-c() i=1 while(i<100) { b<-i l<-c(l,b) i=i+1 }