【问题标题】:Export data when making a R package制作R包时导出数据
【发布时间】:2014-09-26 18:11:56
【问题描述】:

我正在尝试制作一个 R 包来导出我的名为 function1 的 R 函数并使用一些 R 数据元素。因此,我使用以下方法创建了一个包骨架:

package.skeleton(list=c("function1",
                        "data1.data",
                        "data2.data",
                        "data3.data",
                        ), name="mypackage")

在 NAMESPACE 文件中,我有以下几行:

exportPattern("^[[:alpha:]]+")
export(data1.data, data2.data, data3.data)

构建这个包后,我使用install.packages('mypackage.tar.gz',,type='source',repos=NULL)安装包

安装成功,但是当我尝试运行function1时出现错误:

Error in namespaceExport(ns, exports) : 
  undefined exports: data1.data, data2.data, data3.data

如何正确导出这些数据元素?我认为 NAMESPACE 文件中的 export(data1.data...) 行会做到这一点,但显然不是。我尝试阅读 R 手册,但在 NAMESPACE 点上似乎很混乱,主要是关于如何导出 python 或 C++ 数据。我只想导出一个函数和一些 R 中的数据。

【问题讨论】:

  • 从未使用过 package.skeleton,但您的数据需要位于名为 data 的目录中,并且不会在命名空间中导出数据集。 package.skeleton 会这样做吗?
  • 使用roxygen2 并让它为您处理命名空间是对您的帮助。

标签: r


【解决方案1】:

想通了。原来我不应该将 export(data1...) 放在 NAMESPACE 文件中。

相反,数据是在 library(mypackage) 调用之后单独加载的:

data('data1.data');
data('data2.data');
data('data3.data');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    相关资源
    最近更新 更多