Я хочу упростить приведенное ниже в функциональной форме:
write_file(s01e01, 's01e01.txt')
write_file(s01e02, 's01e02.txt')
write_file(s01e03, 's01e03.txt')
write_file(s02e01, 's01e01.txt') ...
Эти объекты персонажей s01e01
и им подобные существуют в моей глобальной среде с именем s[01-05]e[01-03]
. Я знаю, что могу просто поместить их все в список и записать в файлы с функциями *apply
или purrr
, но есть ли способ ссылаться на все их голые имена внутри функции, используя вместо этого указанный строковый шаблон?
Я знаю, что могу получить нужные строки имени файла, используя
names <- c('s01e01', 's01e02', 's01e03', ... , 's05e03')
files <- paste(names, 'txt', sep = '.')
Итак, как бы я построил функцию по строкам
write_txt_files <- function(names) {
files <- paste(names, 'txt', sep = '.'))
# 15 variables from s01e01 to s05e03
c1 <- c('01', '02', '03', '04', '05')
c2 <- c('01', '02', '03')
varnames <- paste0(paste0('s', c1), rep(paste0('e', c2), 5)) %>% sort
vectorized_write_file(convertStringToExpr(varnames), files)
# ^bare object ^strings
}
get()
, это именно то, что я искал. - person dad   schedule 02.10.2018