2012-12-10 53 views
8

Writing R Extensions手冊中指出:數據何時進入/ data,何時應該進入/ inst/extdata?

數據子目錄是數據文件,或者通過延遲加載或用於裝載被製成可用的使用數據()。 (通過描述文件中的'LazyData'字段進行選擇:默認不這樣做。)它不應該用於包所需的其他數據文件,並且該約定已經成長爲使用目錄inst/exdata這樣的文件)。

但它仍然不清楚什麼數據是「需要」的包。我想用數據如下(並不總是相互排斥的)原因:

  • 文檔
    • 功能例子
    • 功能測試
    • 護身符
  • 提供訪問原始數據集
  • 使數據可用於包內的功能(例如。查找表/字典)

但目前尚不清楚其中的這些應該在data文件夾,並應在inst/extdata去。有沒有什麼條件下的「數據」應該去其他地方?

相關問題:上的問題(例如inst and extdata folders in R PackagingUsing inst/extdata with vignette during package checking R 2.14.0)給出使用一些指令,但不要告訴我如何決定使用哪個目錄。另一個問題,R - where should I place RDA file - /R, /data, /inst/extdata?,得到最接近的,但似乎專注於RDA和RData文件。

回答

10

data目錄提供了data()函數的數據,並且在文件格式和擴展名方面預計會遵循某些習慣。

inst/extdata目錄在安裝時會變成extdata/,更像是狂野的西部,您可以隨心所欲地完成任何操作,並且您可以編寫自己的訪問器。

查看經驗可能會有幫助。在我的機器上,大約240個安裝包中,有77個(或不多於三分之一)有data/,但只有4個(包括我的一個)有extdata.

相關問題