автоматически называть датафрейм на основе имени файла - PullRequest
0 голосов
/ 26 апреля 2019

Если я соблюдаю соглашение о сохранении путей к моим файлам в качестве переменных с общим префиксом «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 Ответ

1 голос
/ 26 апреля 2019

Вы можете использовать assign.

my_read_rds <- function(file){
  name <- deparse(substitute(file))
  name <- stringr::str_remove(name, "^file_")
  assign(name, readr::read_rds(file), envir=globalenv())
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...