Использование функции для повторения функции над коллекцией имен файлов - PullRequest
0 голосов
/ 15 марта 2020

Я хотел бы написать для повторения фрагмента кода над набором имен файлов (имен файлов, присутствующих в моем рабочем каталоге) в . Я также хотел бы сохранить выходные данные каждой строки как объект глобальной среды , если это возможно. Общая структура того, что я пытаюсь сделать, приведена ниже. Составлено имя функции.

global_environment_object_1 <- anyfunction("filename and extension").
# Repeat this over a set of filenames in the working directory and save each as a separate 
# global environment object with separate names. 

Пример из реальной жизни может быть:

sds22 <- get_subdatasets("EVI_2017_June_2.hdf")
sds23 <- get_subdatasets("EVI_2016_June_1.hdf") 

- где имена объектов и имена файлов меняются, а общее количество файлов - 48.

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 15 марта 2020

Попробуйте использовать:

#Get all the filenames
all_files <- list.files(full.names = TRUE)
#Probably to be specific
#all_files <- list.files(patter = "\\.hdf$", full.names = TRUE)
#apply get_subdatasets to each one of them
all_data <- lapply(all_files, get_subdatasets)
#Assign name to list output
names(all_data) <- paste0('sds', seq_along(all_data))
#Get the data in global environment
list2env(all_data, .GlobalEnv)
...