[英]Building an R package
我目前正在構建一個R包。
我希望提供示例數據。 我知道package.skeleton()創建的數據目錄以及如何加載數據集等。
問題是,我設計了函數來讀取文件作為輸入-原因是那些使用我的軟件包的人通常會加載大型數據集。 因此,我的函數逐行讀取文件。
我在讓程序包通過檢查階段時遇到問題,因為我不清楚如何使函數讀取示例數據文件,而不是先加載它們,然后將結果表/數據幀作為參數傳遞。
我希望這很清楚。
提前致謝!
我的函數將文件作為參數,即
example <- function(test_file){
test <- readLines(testFile)
....Do something to each line ...
}
我不清楚如何使用R文檔代碼將文件(而不是數據框)傳遞給函數。
我在文檔中的測試代碼如下
\examples{
library(new_package)
tester <- test(testfile=somefile)
}
由於R期望的數據結構類似,因此無法執行:
data(somedataset)
testet <- example(somedataset)
該錯誤是由於R CMD檢查過程無法找到和讀取我的文件而導致的。 有沒有一種方法可以構造我的包,以便函數的參數是文件而不是數據結構,如果是,那么如何在文檔的示例代碼中將此文件作為參數傳遞。
這個示例函數呢:
#' Example function
#' @param test_file file path
#' @examples \dontrun{
#' example(system.file('example_data.txt', package='package_name'))
#' }
example <- function(test_file) {
test <- readLines(testFile)
# whatever you wish to do
}
詳細說明:
data
目錄(如果我對的話,將保留沒有自定義函數加載的數據集)移動到例如inst
目錄,這最終會將您的示例文件放置在已安裝包的目錄中, system.file
引用演示文件, \\dontrun
指定示例,以消除由於自動運行而導致的所有警告,但仍顯示在文檔中(盡管上面的命令可以,但恕不恕我直言)。 我了解您在大數據方面的困境(我是一位生物學家,正在處理相同的問題),所以我建議不要運行該示例。 這將允許您通過檢查,但是您還應該添加一點注釋(作為注釋或功能文檔中的其他地方),以指示為什么這些示例不是直接運行的示例。
\examples{
\dontrun{
# Throw in your examples here
}
}
這應該使您能夠通過檢查(至少可以解決此問題),並使軟件包可安裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.