Ответ 1
Когда вы создаете пакет R, у вас будет дерево каталогов, содержащее (среди прочего) в корневом каталоге пакета: DESCRIPTION
, NAMESPACE
и каталог R/
. Если у вас также есть каталог inst/
, то все содержимое этого каталога дословно копируется в каталог вашего пакета, за исключением inst/
.
Например, если ваш каталог пакета выглядит так:
+- DESCRIPTION
+- NAMESPACE
+- inst/
| \- rmd/
| \- file.Rmd
\- R/
+- file1.R
+- file2.R
\- file3.R
Затем, когда вы соберете пакет и установите его, вы найдете следующее в своей библиотеке пакетов:
+- DESCRIPTION
+- INDEX
+- NAMESPACE
+- rmd/
| \- file.Rmd
\- R/
+- packagename
+- packagename.rdb
\- packagename.rdx
(Другие файлы/каталоги создаются во время процесса, я игнорирую их для простоты.)
Последняя информация, которую вам нужно знать, это "как получить доступ к этому файлу после его установки?" Поскольку некоторые системы устанавливают библиотеку R в разные каталоги, и, кроме того, пользователи часто устанавливают пакеты в личной библиотеке R, вы не можете априори знать, где искать Enter system.file
:
system.file("rmd", "file.Rmd", package = "packagename")
## [1] "c:/R/R-3.1.3/library/packagename/rmd/file.Rmd"
Это можно использовать для всего файла Rmd. Я использую его для специфичных для компании шаблонов для документов, представленных в Rmd. То есть я ищу "включаемые" файлы, чтобы персонализировать LaTeX, чтобы отображаемый PDF имел верхние и нижние колонтитулы и стилизовался так, как мы хотим. Этот шаг требует написания функции, которая заменяет pdf_document
(например) в заголовке Rmd YAML, но это хорошо описано на rmarkdown.rstudio.com.