Как правильно добавить примеры в функцию R, которая записывает файл - PullRequest
0 голосов
/ 07 июля 2019

Как правильно написать документацию для функции R, предназначенной для записи в файл?

Согласно комментариям CRAN:

Убедитесь, что ваши функциине пишите по умолчанию или в ваших примерах / виньетках / тестах в домашнем файловом пространстве пользователя.Это не разрешено политиками CRAN.Пожалуйста, пишите / сохраняйте файлы, только если пользователь указал каталог.В ваших примерах / виньетках / тестах вы можете написать в tempdir ()

Пример:

Пример ниже будет использовать функцию tempdir() для генерации пути

tempdir()
> "C:\\Users\\username\\AppData\\Local\\Temp\\RtmpiG8whL"

Будет ли нормально отправлять такой пакет?

#' @examples
#' x <- sd(1:10)
#' my_fun(x, path = tempdir())

my_fun <- function(x, path = "", file_n = "test"){
 file_p <- file.path(path, paste0(file_n, ".csv"))
 write.csv(x, file_p)
}

Пример, который не будет выполнять тест

или любая функция, записывающая файл, должна явно избегать тестирования примеров?

#' @examples
#' \donttest{ 
#' x <- sd(1:10)
#' my_fun(x, path = tempdir())
#' }

my_fun <- function(x, path = "", file_n = "test"){
 file_p <- file.path(path, paste0(file_n, ".csv"))
 write.csv(x, file_p)
}

Кроме того, как лучше всего проверить эту проблему?

Ничего не должно создаваться после выполнения devtools::check() в tempdir(), это правильно?

1 Ответ

0 голосов
/ 08 июля 2019

По какой-то причине функция tempdir() продолжает запись файла во временную директорию

В качестве обходного пути я использовал tempfile() в своих примерах. Это сохраняет временную папку в чистоте ...

#' @examples
#' x <- sd(1:10)
#' my_fun(x, path = tempfile())

my_fun <- function(x, path = "", file_n = "test"){
 file_p <- file.path(path, paste0(file_n, ".csv"))
 write.csv(x, file_p)
}
...