在文档中,R建议放入原始数据文件(不是Rdata或Rda) inst/extdata/
来自第一段:http://cran.r-project.org/doc/manuals/R-exts.html#Data-in-packages
data子目录用于数据文件,要么通过延迟加载提供,要么使用data()加载.(选择是由DESCRIPTION文件中的'LazyData'字段进行的:默认情况下不会这样做.)它不应该用于包所需的其他数据文件,并且约定已经成长为使用目录inst /这些文件的extdata.
所以,我已将所有原始数据移动到此文件夹中,但是当我构建并重新加载包然后尝试使用(例如)访问函数中的数据时:
read.csv(file=paste(path.package("my_package"),"/inst/extdata/my_raw_data.csv",sep=""))
# .path.package is now path.package in R 3.0+
Run Code Online (Sandbox Code Playgroud)
我收到"无法打开文件"错误.
但是,它确实看起来/extdata在包目录中调用了一个文件夹,其中包含文件(构建后和安装后).该/inst文件夹发生了什么?
/ inst文件夹中的所有内容都会被推入/包中吗?
Ste*_*lou 60
比使用更有用的file.path是system.file.安装软件包后,您可以像这样获取文件:
fpath <- system.file("extdata", "my_raw_data.csv", package="my_package")
Run Code Online (Sandbox Code Playgroud)
fpath 现在将HD上的绝对路径放到文件中.
Dir*_*tel 30
你们都很亲密,基本上都有这个.来自'Writing R Extensions'的正式参考是:
1.1.3包子目录
[...]
inst子目录的内容将以递归方式复制到安装目录中.的子目录inst不应当与由R使用干扰(目前R,data,demo,exec,libs,man,help,html和Meta,并用于早期版本latex,R-ex). 建立inst之后发生的复制,src因此它Makefile可以创建要安装的文件.在R 2.12.2之前,文件安装在具有包源中的权限的POSIX平台上,因此应注意确保这些文件不会过于严格:R CMD build将进行适当的调整.要排除安装文件,可以在文件中指定排除模式列表.Rinstignore在顶级源目录中.这些模式应该是类似Perl的正则表达式(请参阅regexpR中的帮助以获取精确的详细信息),每行一个,与文件和目录路径匹配(10),例如doc/.*[.]png$将inst/doc基于(不包括所有PNG文件)小写)扩展.
| 归档时间: |
|
| 查看次数: |
14409 次 |
| 最近记录: |