更新见下文
当没有计数器/迭代器可供索引时,我不确定如何在 while 循环中使用元素填充列表或向量。请参阅下面的最小示例。我有一个更复杂的 while 循环,就像下面的 foo 一样,它有一个不包含数字的逻辑语句,所以我不清楚如何用 x 填充列表 vec。是否可以在 while 循环中创建某种迭代器,以便每次通过 while 循环时迭代器都会简单地增加一?然后我可以使用这个迭代器来索引列表 vec?
foo <- function(){
names <- list("a","b","c")
vec <- list()
more <- TRUE
while(more == TRUE){
names <- rep(names, 2)
if(length(names) < 50) vec <- names
more <- length(names) < 50
}
vec
}
foo()
谢谢,这似乎像我现在想要的那样工作:
foo <- function(){
names <- list("a","b","c")
i <- 0
vec <- list()
more <- TRUE
while(more == TRUE){
i <- i + 1
names <- rep(names, 2)
if(length(names) < 50) vec[[i]] <- names
more <- length(names) < 50
}
vec
}
foo()