2013-08-23 7 views
5

Я работаю над пакетом R, который основывается на базе данных postgreSQL. Следовательно, есть некоторые файлы .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, а более ранние версии - латекс, R-ex). Копирование экземпляра происходит после сборки src, поэтому Makefile может создавать файлы для установки.

В папке библиотеки с названием sql будет находиться верхняя папка, и вы можете получить к ней доступ из R, что вам нужно.

+0

Thx! не могли бы вы объяснить, почему вы чувствуете, что inst - это правильное место? Btw: Я использую devtools/R Studio для сборки пакета. –

+3

@MattBannert 'inst' - это подходящее место, потому что оно установлено вместе с вашим пакетом. – hadley

+0

Что делать, если мои .sql-файлы просто запрашивают данные, которые я передаю, скажем, 'RODBC :: sqlQuery()' для создания 'data.frame'? Должен ли я просто создать каталог sql/в этом случае или что? –

Смежные вопросы