2013-08-23 25 views
5

我正在研究一個建立在postgreSQL數據庫上的R包。因此,有一些.sql文件包含相應數據庫的推薦表結構。將SQL文件放在R包中的位置?

我想知道如果我想構建一個包(對於CRAN),這些文件放在哪裏?

回答

8

也許把它們放在文件夾「出師表」(頂層),如安裝/ SQL

則用戶或你的一個功能,可以訪問文件存在與

base <- system.file('sql', package='bannertpackage') 
sqls <- dir(base, "*sql", f=TRUE) 

,並執行它們

http://cran.r-project.org/doc/manuals/R-exts.html#Package-subdirectories

的研究所子目錄的內容將被遞歸複製到安裝目錄。 inst的子目錄不應該干擾R(當前,R,data,demo,exec,libs,man,help,html和Meta以及使用latex,R-ex的早期版本)使用的子目錄。在建立src之後複製inst會發生,所以它的Makefile可以創建要安裝的文件。

庫文件夾中會有一個名爲sql的頂級文件夾,它很好,您可以從R訪問它,這正是您需要的。

+0

Thx!你能解釋爲什麼你覺得inst是正確的地方嗎?順便說一句:我使用devtools/R Studio來構建包。 –

+3

@MattBannert'inst'是正確的地方,因爲它隨您的包一起安裝。 – hadley

+0

如果我的.sql文件只是簡單地查詢數據,那麼我會傳入'RODBC :: sqlQuery()'來創建'data.frame'?我應該在這種情況下創建一個sql /目錄嗎? –

相關問題