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

tryおよびを参照してくださいtryCatch。開始するための例を次に示します。

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 に答える