首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不加载包的R函数调用

不加载包的R函数调用
EN

Stack Overflow用户
提问于 2013-08-02 11:30:43
回答 1查看 3.9K关注 0票数 4

我想使用来自生物导体包hypergraphhyperdraw的函数,而不加载包。从hyperdraw中运行示例时

代码语言:javascript
复制
dh1 <- hypergraph::DirectedHyperedge("A", "B", "R1")
dh2 <- hypergraph::DirectedHyperedge(c("A", "B"), c("C", "D"), "R2")
hg <- hypergraph::Hypergraph(LETTERS[1:5], list(dh1, dh2))
hgbph <- hyperdraw::graphBPH(hg)

我知道错误:

代码语言:javascript
复制
Error in hyperdraw::graphBPH(hg) : could not find function "hyperedges"

如果我尝试加载hyperedges

代码语言:javascript
复制
hyperedges <- hyperdraw:::hyperedges

我知道错误了

代码语言:javascript
复制
Error in get(name, envir = asNamespace(pkg), inherits = FALSE) : 
  object 'hyperedges' not found

当我使用libraryrequire加载两个包时,没有错误(在没有hypergraph::hyperdraw::的情况下运行上述代码)。

我不想加载包的原因是,我正在构建一个只在一个函数中使用hyperdrawhypergraph的包,我宁愿将这些包放入Suggests中,也不愿将这些包放到DESCRPTION文件中的Depends中。

有谁知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-02 12:11:50

超图在它的描述文件中有这个

代码语言:javascript
复制
Depends:      R (>= 2.9.0), methods, grid, graph, hypergraph, Rgraphviz

它依赖于在hypergraph::hyperedges路径上找到search()。就我个人而言,我认为超图应该包括一条线

代码语言:javascript
复制
importFrom(hypergraph, hyperedges)

在它的命名空间文件中。目前,最好的做法是添加依赖项:对描述文件和importFrom(hyperdraw, <whatever functions you need>)进行超图绘制。我已经联系了超图的维护者,要求他们按上面的方式更新名称空间;然后您只需使用Imports: hyperdraw即可。我认为您只是在为自己工作,并试图使用建议或其他方法来颠覆对正式依赖的需求,从而使用户感到沮丧。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18015844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档