do.call无法找到功能

时间:2017-10-06 08:55:26

标签: r do.call

首先,很抱歉我没有提供完全可重复的示例,但是我使用的是BioConductor软件包的开发版本,并且安装有点痛苦。

我正在尝试使用do.call根据我粘贴在一起的字符串来调用函数。像这样:

testfunction <- function(){
  print("do.call is working")
}

do.call(paste("test", "function", sep = ""), args = list())

打印:

  

&#34; do.call正在运作&#34;

当我试图调用我感兴趣的函数时,如下:

for (dataset in unique(metadata[, 1])){
  replace_idx <- which(metadata[,1 ] == dataset)
  do.call(paste('curatedMetagenomicData::', dataset, ".genefamilies_relab.stool", sep = ""), args = list())
  if (length(replace_idx) > 0){
    # Do further stuff.
  }
}

我收到此错误:

  

错误   curatedMetagenomicData::ZellerG_2014.genefamilies_relab.stool():
  找不到功能   &#34; curatedMetagenomicData :: ZellerG_2014.genefamilies_relab.stool&#34;

在没有do.call的情况下调用循环外的函数。

这可能是某种环境问题吗?非常感谢任何帮助。

0 个答案:

没有答案