0

我正在使用 R 和 GEOQuery 包来下载一组 GEO 配置文件。为此,我使用以下说明:

library(Biobase)
library(GEOquery)
gdsAcc<-getGEO('GDS1245',destdir=".")

它将 GDS1245.soft.gz 下载到指定目录中。

问题是一些 GEO 配置文件已被删除,所以当我在循环中使用上述指令时,我得到了类似的东西:

gdsAcc<-getGEO('GDS450',destdir=".")

在最后一种情况下,配置文件 GDS450 不存在,因此它会引发错误并且程序停止。我想知道如何捕获该错误,以便在配置文件不存在的情况下程序将继续寻找其他配置文件。

我的算法是这样的:

for (i in 1:length_GEO_profiles){
    disease<-GEOname
    gdsName<-paste("GDS",disease,sep="")
    gdsAcc<-getGEO(gdsName,destdir=".")
}

有什么帮助吗?

谢谢

4

1 回答 1

0

你应该看看trytryCatch。这是一个帮助您入门的示例:

for(i in 1:3) { 
  if(i == 1)
    gdsAcc <- try(getGEO('GDS450',destdir="."))
  cat(i, "\n")
}

如果你想对错误做点什么,那么使用一个if语句:

if(class(gdsAcc) == "try-error") cat("HELP")

相关问题

于 2013-01-03T20:56:41.653 回答