Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何重命名包中使用的数据集?_R_Package_Devtools - Fatal编程技术网

R 如何重命名包中使用的数据集?

R 如何重命名包中使用的数据集?,r,package,devtools,R,Package,Devtools,经过长时间的数据准备后,我使用了use this::use_data(old_data),但我改变了主意,希望将我的数据集命名为NEW_data,而无需重新运行我的数据准备 如何执行此操作?我们可以加载“数据”文件夹中包含的每个文件,在新环境中使用新名称创建新变量,删除原始文件并保存新文件 可以使用以下功能: #' rename package datasets #' #' Assuming `usethis::use_data()` was used, rename one or severa

经过长时间的数据准备后,我使用了
use this::use_data(old_data)
,但我改变了主意,希望将我的数据集命名为
NEW_data
,而无需重新运行我的数据准备


如何执行此操作?

我们可以加载“数据”文件夹中包含的每个文件,在新环境中使用新名称创建新变量,删除原始文件并保存新文件

可以使用以下功能:

#' rename package datasets
#'
#' Assuming `usethis::use_data()` was used, rename one or several datasets.
#'
#' @param ... One or more unquoted names, in the form `new_name = old_name`
rename_data <- function(...){
  args <- eval(substitute(alist(...)))
  env <- new.env()
  for(i in seq_along(args)){
    old_nm <- as.character(args[[i]])
    new_nm <- as.character(names(args)[[i]])
    old_path <- here::here("data", paste0(old_nm, ".rda"))
    new_path <- here::here("data", paste0(new_nm, ".rda"))
    load(old_path,env)
    assign(new_nm, eval(args[[i]],env), envir = env)
    file.remove(old_path)
    save(list=new_nm, file = new_path, envir = env)
  }
  invisible()
}

rename_data(NEW_DATA = old_data)
重命名包数据集 #' #'假设使用了'usethis::use_data()',请重命名一个或多个数据集。 #' #“@param。。。一个或多个不带引号的名称,格式为“新名称=旧名称”` 重命名\u数据