绕过R中循环内的错误
我在下面有一个虚拟脚本:绕过R中循环内的错误,r,error-handling,R,Error Handling,我在下面有一个虚拟脚本: a <- 1 b <- 2 c <- 3 e <- 5 list <- letters[1:5] for (loop in (1:length(list))) {print(paste(list[loop],get(list[loop]),sep="-")) } > source('~/.active-rstudio-document') [1] "a-1" [1] "b-2" [1] "c-3" Error i
a <- 1
b <- 2
c <- 3
e <- 5
list <- letters[1:5]
for (loop in (1:length(list)))
{print(paste(list[loop],get(list[loop]),sep="-"))
}
> source('~/.active-rstudio-document')
[1] "a-1"
[1] "b-2"
[1] "c-3"
Error in get(list[loop]) : object 'd' not found
a是的,与大多数开发语言一样,存在这样一种机制。检查?尝试使用存在检查变量是否存在:
for (loop in (1:length(list))){
if(exists(list[loop])){
print(
paste(list[loop], get(list[loop]), sep="-"))
}
}
[1] "a-1"
[1] "b-2"
[1] "c-3"
[1] "e-5"
更一般地说,R具有捕捉和处理错误的复杂机制。有关更多详细信息,请参阅?tryCatch
及其简化包装程序?try