You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地R包调用signatureSearch函数时无法加载clue_moa_list数据求助

解决signatureSearch::addGESSannot加载clue_moa_list失败的问题

问题根源

signatureSearch::addGESSannot内部调用data("clue_moa_list", envir = environment())时未指定数据集所属的包,导致在你的R包环境中无法定位到该数据集。这个数据集实际属于signatureSearch或signatureSearchData包,默认的data()调用会优先在当前包环境查找,因此触发找不到对象的报错。

解决方案

方案1:在你的函数中提前显式加载数据集

在lincs_connectivity函数开头,先加载clue_moa_list并指定所属包,确保addGESSannot调用时能访问到该对象:

lincs_connectivity <- function(){
  # 显式加载clue_moa_list,根据实际归属指定package参数
  data("clue_moa_list", package = "signatureSearch") # 若数据在signatureSearchData则改为该包名
  # 后续调用addGESSannot及其他逻辑
  ...
  res <- signatureSearch::addGESSannot(...)
  ...
}

方案2:确认依赖包的正确声明

检查你的包的DESCRIPTION文件,确保Imports字段已包含signatureSearch和signatureSearchData(若数据归属后者):

Imports:
    AnnotationDbi,
    org.Hs.eg.db,
    signatureSearch,
    signatureSearchData,
    dplyr

注意:仅靠Imports声明不足以让data()自动定位跨包数据集,仍需显式指定package参数。

方案3:验证signatureSearch版本兼容性

你参考的是signatureSearch的devel分支代码,该分支可能调整了clue_moa_list的存储位置(比如从主包移到signatureSearchData)。可以:

  • 查看对应包的官方文档,确认clue_moa_list的所属包
  • 若开发版存在兼容性问题,可切换到稳定版测试

内容的提问来源于stack exchange,提问作者Komal Rathi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 15:26:13