【问题标题】:Error : could not find function "ImportMethodFrom"错误:找不到函数“ImportMethodFrom”
【发布时间】:2017-12-07 21:15:51
【问题描述】:

我尝试运行第 7 章数据挖掘和 R 学习案例研究一书中的代码,但在以下行中出现错误:

rankWorkflows(svm, maxs = TRUE)

错误是:

as.character.default(X[[i]], ...) 中的错误:没有强制方法 这个 S4 类到一个向量

然后我在互联网上搜索并找到了以下解决方案:

importMethodsFrom(GenomicRanges, as.data.frame)

我又遇到了一个新错误:

错误:找不到函数“importMethodFrom”

我搜索了很多,但我什么也没找到:(

【问题讨论】:

  • 你很可能错过了importMethodFrom所在的库
  • 是的,我知道,但我不知道图书馆的名字,我找不到它
  • importMethodsFrom 不是只用在NAMESPACE 文件中吗?尝试使用 library(GenomicRanges) 加载整个 GenomicRanges

标签: r classification data-mining


【解决方案1】:

根据@Bea 的回答,R 中的任何地方似乎都没有importMethodsFrom。我的猜测是您在 NAMESPACE 文件中找到了该调用。这些文件的语法与普通的 R 脚本不同。

如果您想从 R 包中加载特定函数(而不是包中的所有函数),您可以在代码中使用 libraryname::functionname instad of functionname。在您的情况下,将as.data.frame 替换为GenomicRanges::as.data.frame

如果这不起作用(例如因为您的代码中没有as.data.frame),您还可以使用library(GenomicRanges) 加载整个GenomicRanges

【讨论】:

  • 我发现这条消息:standardGeneric for "as.data.frame" 从包 "BiocGenerics" 函数定义 (x, row.names = NULL, optional = FALSE, ...) standardGeneric("as .data.frame") 可以为参数定义方法:x 对当前可用的方法使用 showMethods("as.data.frame")。
  • 在调用 rankWorkflows 之前,您是否尝试过使用 library(GenomicRanges) 加载库?
【解决方案2】:

您可以尝试使用library(sos) 查找您的函数所在的包。

library(sos)
findFn("replaceherewithyourfunction")

【讨论】:

  • 我收到这条消息:下载包“sos”失败
猜你喜欢
  • 2015-07-26
  • 2018-07-31
  • 2016-05-20
  • 2015-09-06
  • 2020-02-04
  • 1970-01-01
相关资源
最近更新 更多