我正在研究 R 中的一个包,并且正在寻找一种方法来记录存储在该inst/extdata
文件夹中的外部数据的来源。我知道/data
文件夹中的数据可以按照这个 SO post用 roxygen 记录。
问题似乎是外部数据没有导出到包的命名空间中,因此将 roxygen 帮助文档绑定到它会带来问题。有没有办法克服这个问题并记录类似于/data
文件夹中项目方法的外部数据?
我正在研究 R 中的一个包,并且正在寻找一种方法来记录存储在该inst/extdata
文件夹中的外部数据的来源。我知道/data
文件夹中的数据可以按照这个 SO post用 roxygen 记录。
问题似乎是外部数据没有导出到包的命名空间中,因此将 roxygen 帮助文档绑定到它会带来问题。有没有办法克服这个问题并记录类似于/data
文件夹中项目方法的外部数据?
这是我在评论中提供的解决方案的可重现(在 linux 上)示例。
下面的代码将创建最小的包
DESCRIPTION
文件ext/data/data1.csv
csv 数据文件man/data1.Rd
R 文档文件然后它将构建和安装包。
mkdir -p my.pkg
cat > my.pkg/DESCRIPTION <<EOL
Package: my.pkg
Type: Package
Title: My pkg
Version: 1.0.0
Description: Example my pkg.
License: GPL-3
EOL
mkdir -p my.pkg/inst/extdata
cat > my.pkg/inst/extdata/data1.sv <<EOL
a,b,c
1,a,2.5
2,b,5.5
EOL
mkdir my.pkg/man
cat > my.pkg/man/data1.Rd <<EOL
\name{data1}
\alias{data1}
\alias{data5}
\title{
my data
}
\description{
desc of data.
}
EOL
R CMD build my.pkg
R CMD INSTALL my.pkg_1.0.0.tar.gz
现在看到可以找到手册
Rscript -e 'library(my.pkg); ?data1'
Rscript -e 'library(my.pkg); ?data5'
如您所见,我们可以使用alias
内部Rd
文件中定义的任何名称来参考 extdata 的文档。