在内部函数中调用时file.copy不起作用

时间:2020-06-17 11:45:50

标签: r

我正在尝试通过函数调用进行标准化的目录设置。在此函数内部,我使用两个file.copy调用将一些文件从自制包复制到项目的工作目录中。

如果我逐行运行代码,那么一切都很好,但是如果运行整个函数,则仅创建目录,而不会复制文件。不幸的是,该功能没有引发任何错误,因此我真的不了解发生了什么或从哪里开始进行故障排除。

也许你们中的一个可以给我提示哪里可以找到解决方案。

抽象(无效)示例:

dir_setup <- function() {

  # list directories which shall be created
  dir_names <- c("dir1", "dir2", "dir3", "dir4")

  # create directories
  lapply(dir_names, function(x){dir.create(path = paste(getwd(), x, sep = '/'))})

  # get path of package library
  lib_path <- .libPaths()

  # shorten list to vector of length 1
  if (length(lib_path) > 1) lib_path = lib_path[1]

  # list files in source
  files <- list.files(paste0(lib_path, "/package/files/dir1"), full.names = TRUE)

  # copy resource files from package directory to working directory
  file.copy(files, paste(getwd(), "dir1", sep = '/'), overwrite = TRUE)

  # list more files
  files2 <- list.files(paste0(lib_path, "/package/files/dir2"), full.names = TRUE)

  # copy more files from package directory to working directory
  file.copy(files2, paste(getwd(), "dir2", sep = '/'), overwrite = TRUE)

}

0 个答案:

没有答案