根据文件名自动命名数据框

时间:2019-04-26 16:50:38

标签: r

如果我遵守将文件路径另存为带有通用前缀“ file_”的变量的约定,那么看来我可以为read_rds()创建一个包装函数,该函数将根据“ file_”中的文件名。

当我评估读取文件的名称时遇到麻烦。

library(here)
library(readr)
library(stringr)

file_survey <- here("my_survey_2019.rds")

my_read_rds <- function(file){
  name <- deparse(substitute(file))
  name <- stringr::str_remove(name, "^file_")
  eval(name) <- readr::read_rds(file) # Does not work
}

my_read_rds(file_survey) # would ideally create a dataframe named `survey`

1 个答案:

答案 0 :(得分:1)

您可以使用assign

my_read_rds <- function(file){
  name <- deparse(substitute(file))
  name <- stringr::str_remove(name, "^file_")
  assign(name, readr::read_rds(file), envir=globalenv())
}