0

我正在尝试从 GSM .soft 文件的元数据中提取单个值。我可以通过使用来做到这一点而不会出错Meta(GSM971958)$characteristics_ch1[3],但是当我尝试通过循环运行带有变量的相同类型的命令时出现错误。我不明白为什么前者可以正常工作,但后者不能。

这是带有错误消息的完整代码:

library(Biobase)
library(GEOquery)

for (i in 971958:972456){
  GSMName <- paste("GSM", i, sep = "") 

  if(Meta(GSMName)$characteristics_ch1[1]!="dataset: discovery"){
    next
  }
  print(Meta(GSMName)$characteristics_ch1[3])
}


     ##Error in (function (classes, fdef, mtable)  : 
          unable to find an inherited method for function ‘Meta’ for signature ‘"character"’
4

1 回答 1

0

即使我已经很难导入数据,我也需要通过 getGEO() 传回:

library(Biobase)
library(GEOquery)

for (i in 971958:972456){
  GSMName <- paste("GSM", i, sep = "") 
  GSM <- getGEO(GSMName, destdir=".")
  if(Meta(GSM)$characteristics_ch1[1]!="dataset: discovery"){
    next
  }
  print(Meta(GSM)$characteristics_ch1[3])
}
于 2017-06-20T16:59:58.100 回答