在循环中使用带有变量的 Meta() 函数:找不到函数的继承方法时出错?
Using Meta() function with variable in loop: Error unable to find an inherited method for function?
我正在尝试从 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"’
我需要通过 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])
}
我正在尝试从 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"’
我需要通过 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])
}