Na przykład, jeśli twój katalog opakowanie wygląda tak:
+- DESCRIPTION
+- NAMESPACE
+- inst/
| \- rmd/
| \- file.Rmd
\- R/
+- file1.R
+- file2.R
\- file3.R
Wtedy, kiedy zbudować pakiet i zainstalować go, znajdziesz w następujących w bibliotece pakiet:
+- DESCRIPTION
+- INDEX
+- NAMESPACE
+- rmd/
| \- file.Rmd
\- R/
+- packagename
+- packagename.rdb
\- packagename.rdx
(Inne pliki/katalogi są tworzone podczas procesu, ignoruję je dla uproszczenia).
Ostatnią informacją, którą należy wiedzieć, jest "w jaki sposób uzyskać dostęp do jest plik po zainstalowaniu? " Ponieważ niektóre systemy zainstalować R biblioteki w różnych katalogach i na górze, że użytkownicy często zainstalować pakiety w osobistym R biblioteki, nie można wiedzieć a priori, gdzie szukać Wprowadź system.file
:
system.file("rmd/file.Rmd", package="packagename")
## [1] "c:/R/R-3.1.3/library/packagename/rmd/file.Rmd"
Może to być użyte dla całego pliku Rmd. Używam go do szablonów specyficznych dla firmy dla dokumentów renderowanych Rmd. Oznacza to, że szukam plików "uwzględnij", aby spersonalizować LaTeX, tak aby renderowany plik PDF zawierał nagłówki/stopki i był stylizowany tak, jak chcemy. Ten krok wymaga napisania funkcji, która zastępuje pdf_document
(na przykład) w nagłówku YAML Rmd, ale jest dobrze pokryta w rmarkdown.rstudio.com.
Zamknęłam to jak to naprawdę jako podwójne z kilkunastu istniejących pytania dotyczące „jak mam to $ foo” w moim pakiecie, a odpowiedź zawsze brzmi „poniżej inst'/'”. –
@DirkEddelbuettel Chociaż może to być dla ciebie oczywiste, ponieważ masz więcej strukturalnej metamiedzy, odpowiedź poniżej była dokładnie tym, czego szukałem, a powiązany post nie odpowiedziałby na moje pytanie. W szczególności, uzyskanie dostępu do Rmd (innego niż po prostu wywołanie 'data (x)' było kluczowe. –
@DanielEgan, cieszę się, że pomógł, ale strona naprawdę nie jest lepsza, gdy piszemy te same rzeczy X razy pod różnymi etykietami. , odpowiedzią jest zasadniczo "use" system.file() '" - po prostu spróbuj np. 'system.file (" doc "," knitr-intro.Rmd ", package =" knitr ")' który * nie ważne gdzie i jak zainstalowałeś knitr * dostarczy ci pełną ścieżkę do pliku - jak to było z 'inst/doc/knitr-intro.Rmd' i R może następnie obliczyć te rzeczy.To jest całkiem dobrze udokumentowane (jeśli trudno je znaleźć na początku) –