更新 下記参照
インデックスを作成するカウンター/イテレーターがない場合、while ループでリストまたはベクターに要素を設定する方法がわかりません。以下の最小限の例を参照してください。以下の foo のように、数値を含まない論理ステートメントを含むより複雑な while ループがあるため、リスト vec に x を入力する方法がわかりません。while ループ内にある種のイテレータを作成して、while ループを通過するたびにイテレータが単純に 1 ずつ増えるようにすることは可能ですか? 次に、このイテレータを使用してリスト 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()