【问题标题】:R package namespace issue using data() -- data set not found使用 data() 的 R 包命名空间问题 - 未找到数据集
【发布时间】:2014-04-18 20:36:12
【问题描述】:

我在尝试在我自己的一个包中导入包(即“robfilter”)时遇到了问题。我尝试使用的一种方法,adore.filter,在这一行失败了:

data(critvals)

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

如果我通过 require(robfilter) 加载库,该函数可以正常工作。然而,这意味着为了使用我的自定义包,它调用了 adore.filter,我必须加载我自己的包,然后加载 robfilter。不是一个大问题,但有点烦人。

我不确定问题是否在于我需要做一个额外的步骤才能使我的包中的 critvals 可见,或者包作者是否需要做一些事情(但还没有做) 将 critvals 添加到其包命名空间; robfilter NAMESPACE 文件中没有“critvals”的迹象。我以前没有遇到过这个问题,也不太明白在包中使用 data() 应该如何工作。

【问题讨论】:

    标签: r namespaces package


    【解决方案1】:

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

    • 要么要求 robfilter 维护者将 robfiler 需要的数据放入 robfilter 的内部数据文件中。 (R/sysdata.rda)
    • 或者让你的包依赖于 robfilter

    因此,如果您将 robfilter 放在描述文件的依赖部分中,它就会起作用。但在我的情况下(两个都是我的包),我试图避免 Depends 解决方案,因为它加载了导入的包,并且任何其他包都需要依赖于它的导入包......见我的 question 是完全重复的你的,但不在同一个上下文中。

    【讨论】:

    • 为什么要投反对票?它回答了与其他答案相反的 OP 问题...
    • 如果它是重复的,那么问题应该被标记为这样。如果那里的答案在这里不适用,那么您应该在此处展开​​答案,这样访问者就不必进行一些链接搜索来获得他们的答案。
    • 好的有道理,但不是完全重复,我会编辑我的答案
    • 知道有一个广泛的现已删除的答案:i.stack.imgur.com/N8FqY.png您可能想检查您的答案是否在同一轨道上。
    • 是的,这就是我在上面的评论中引用的答案,它没有回答问题..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2015-02-16
    • 2019-11-20
    • 2010-11-14
    相关资源
    最近更新 更多