【问题标题】:catching an exception on R getGEO在 R getGEO 上捕获异常
【发布时间】:2012-12-18 06:56:47
【问题描述】:

我正在使用 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=".")
}

有什么帮助吗?

谢谢

【问题讨论】:

    标签: r error-handling


    【解决方案1】:

    您应该查看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")
    

    相关问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      • 2017-07-03
      • 2015-05-30
      • 2018-06-17
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      相关资源
      最近更新 更多