R包命名空间问题:使用data()时出现数据集未找到的情况

4

我在尝试导入一个包(即'robfilter')到我自己的一个包中时遇到了问题。我正在尝试使用其中的一个方法adore.filter,但是在这一行出现了错误:

data(critvals)

出现错误信息“数据集'critvals'未找到”。

如果我通过require(robfilter)加载库,函数可以正常工作。但是这意味着为了使用调用adore.filter的自定义包,我必须先加载我的包,然后再加载robfilter。虽然不是很麻烦,但还是有些烦人。

我不确定问题是否在于我需要采取额外的步骤才能使critvals在我的包中可见,或者也许包作者需要做一些事情(而没有做)来将critvals添加到其软件包名称空间中;在robfilter NAMESPACE文件中没有任何关于'critvals'的迹象。我以前没有遇到过这个问题,真的不太理解软件包内部data()的使用方式。

1个回答

0

据我所知,有两种解决方案:

  • 要么请求robfilter维护者将robfiler所需的数据放入robfilter的内部数据文件中(R/sysdata.rda);
  • 要么使您的软件包依赖于robfilter。

因此,如果您在描述文件的依赖部分中放置robfilter,则可以正常工作。但在我的情况下(两个软件包都是我的),我试图避免依赖解决方案,因为它会加载导入的软件包,而且任何其他软件包都需要依赖于其导入的软件包...请参见我的问题与您的问题非常相似,但情境不同。


为什么要踩?它回答了OP的问题,与其他答案相反... - BenoitLondon
请将以下关于编程的内容从英语翻译成中文。只返回翻译后的文本:如果这是一篇重复的问题,则应标记为重复。如果答案不适用于此处,则应在此处展开答案,以便访问者无需进行链接搜索即可获得答案。 - rene
1
好的,这有道理,但它并不完全是一个重复的副本,我会编辑我的答案。 - BenoitLondon
请注意,现在已经删除了一篇详尽的回答:https://i.stack.imgur.com/N8FqY.png 如果您的回答与该回答相同,请进行核对。 - rene
是的,那就是我在上面评论中提到的答案,它并没有回答问题。 - BenoitLondon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接