R で (1:1700) から for ループを実行していますが、反復ごとに異なるデータをロードしています。しかし、その間のいくつかの反復でエラーが発生しています (対応するデータが欠落している可能性があります)。
エラーが発生した特定の反復をスキップできる方法があるかどうかを知りたい.
for ループを実行する必要があります。他に選択肢はありません。
私try
はそのような問題に使用します。これにより、エラー メッセージで停止することなく、値のサイクルを通じてループを続行できます。
set.seed(1)
dat <- vector(mode="list", 1800)
dat
tmp <- sample(1800, 900) # only some elements are filled with data
for(i in seq(tmp)){
dat[[tmp[i]]] <- rnorm(10)
}
dat
try
#gives warning
res <- vector(mode="list", length(dat))
for(i in seq(dat)){
res[[i]] <- log(dat[[i]]) # warning given when trying to take the log of the NULL element
}
try
#cycles through
res <- vector(mode="list", length(dat))
for(i in seq(dat)){
res[[i]] <- try(log(dat[[i]]), TRUE) # cycles through
}