在本文档中,R表明,原始数据文件(未RDATA也不RDA)应该被放置在inst/extdata/
从第一段中: http://cran.r-project.org/doc/manuals/R-exts.html#Data-in-packages
数据子目录是数据文件,或者使用的数据作出通过延迟加载或装载可用()。 (该选择由“LazyData”字段中的描述文件进行:默认是不这样做),它不应该被用于由包所需要的其他数据文件,该公约已经成长为使用目录安装/扩展数据这样的文件。
所以,我提出我的所有原始数据到这个文件夹,但是当我建立和重新加载包,然后尝试用(例如)访问一个函数的数据:
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+
我得到的“无法打开文件”的错误。
但是,它看起来像有一个文件夹,名为/extdata
在它包目录与文件(生成后安装)。 发生了什么事到/inst
文件夹?
难道一切都在/文件夹研究所将被推入/
包的?
你都是非常接近,基本上是有这个。 从写作R附加软件'的正式引用是:
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的正则表达式(见的帮助regexp
中的R为精确的细节),每行一个,对文件和目录路径进行匹配(10),例如doc/.*[.]png$
将排除所有PNG文件inst/doc
基础上,(小写)扩展。
除了使用更多有用file.path
是使用system.file
。 一旦安装你的包,你可以抓住你的文件,如下所示:
fpath <- system.file("extdata", "my_raw_data.csv", package="my_package")
fpath
现在将对您的高清文件的绝对路径。