簡體   English   中英

在 RMD 中使用外部包作為 R package 的一部分

[英]Using external packages in an RMD as part of an R package

語境

我正在使用帶有多個 RMD 的 R package 來演示各種組件,即詳細示例、理論等。 RMD 按照建議存儲在inst文件實例中,並且我有將它們復制到用戶工作目錄中的功能他們可以與示例交互並從示例中導出內容。

問題

我希望這些 RMD 文件之一使用兩個庫,其中一個也用於 Roxygen2 示例(另一個沒有)。 package 本身的功能不需要這兩個庫,但是:

  1. 對於第一個 package,輸入需要幾個變量(我想展示),如果沒有非常專業的 function 可以在不同的 ZEFE90A8E604A7C840E8ZF0 中找到,其中一個變量將很難計算。 I do not think it is within the scope of the package to implement this functionality (and if it were, it would just be a slightly-tuned alias of an external package function, which I do not think is good practice).

  2. 對於第二個 package,它是boot package。 我只想展示一個使用我的 package 引導置信區間的示例。 這不是必需的,但很有用,因為涉及隨機過程。

問題

將這些包包含在我的 RMD 文件中是一個很好的做法。 顯然,對於 Roxygen2 示例中的那個,我需要它作為建議的 package,但另一個似乎在技術上不需要它。

我應該將它們列為建議的軟件包嗎? 如果我這樣做了,我應該在 RMD 文件中添加存在檢查以確保用戶擁有它們,還是應該讓他們自己弄清楚?

提前致謝!

是的,將它們列為建議的包,並在使用它們之前檢查它們是否使用requireNamespace安裝。

我不確定您在哪里看到將 Rmd 文件放入inst的建議; 將它們構建為小插圖可能更有意義,並將它們放在vignettes目錄中。 這是放置此類文檔的標准位置。

通常不需要將它們復制到工作目錄中(這通常被認為是不好的做法,除非您只是在詢問后才這樣做,並且注意不要踩到用戶自己的文件)。 您可以使用system.file("doc/something.Rmd", package = "yourPackage")從那里訪問它們而無需復制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM