Установка значений по умолчанию для функций R проста, например,
myfunction = function(x, k=42, c=1){
result = x*x + k - c
return(result)
}
Здесь по умолчанию k=42
, c=1
и x
являются обязательными аргументами.
Я создаю пакет R, в котором я хотел бы, чтобы аргументы были файлами по умолчанию. (В этом случае это могут быть либо переменные, загруженные с помощью файлов .rda
, либо фактические текстовые или CSV-файлы.)
Чтобы указать путь к файлу в inst/extdata
, в документации рекомендуется использовать следующее:
http://r -pkgs.had.co.nz / inst.html
Например, чтобы найти inst / extdata / mydata.csv, вам нужно позвонить
system.file ("extdata", "mydata.csv", package = "mypackage")
Каков рекомендуемый способ создания аргументов функции по умолчанию для определенного файла?
Я думаю, что прямая ссылка на файлы была бы не лучшим подходом, например
do_something_with_data = function(file=system.file("extdata", "mydata.csv", package = "mypackage")){
data.table::fread(file)
...
}
Другим подходом может быть установка всех таких аргументов на NULL
, а затем использование аргументов по умолчанию, если больше ничего не используется:
do_something_with_data2 = function(file=NULL){
if (is.null(file)){
file = system.file("extdata", "mydata.csv", package = "mypackage")
}
...
}