请确保默认情况下或您的函数中不编写函数 用户主文件空间中的examples / vignettes / tests。那是不允许的 根据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()
之后,什么都不会创建,这是正确的吗?
答案 0 :(得分:0)
由于某种原因,功能tempdir()
会将文件始终写入temp目录中
作为一种解决方法,我最终在示例中使用了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)
}