Добавить дату из имени файла для нескольких файлов в одном DF в R - PullRequest
0 голосов
/ 06 февраля 2020

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

ccn_files <- list.files(pattern = '*.csv', path = "input/CCN/") ##Creates a list of all the files

ccn_data_raw <- do.call("rbind",  ##Apply the bind to the files
                  lapply(ccn_files, ##call the list
                  function(x)  ##apply the next function
                     read.csv(paste("input/CCN/", x, sep=''),fill = T, header = TRUE, 
                      skip = 4)))

Я также смог получить дату из всех файлов в векторе, используя эту строку

test <- ymd(substr(ccn_files,14,19))

Как я могу добавить эту строку внутри первого кусок кода, чтобы он делал то, что я хочу?

1 Ответ

1 голос
/ 06 февраля 2020

Мы можем использовать Map

ccn_data_raw <- do.call(rbind, Map(cbind, lapply(ccn_files, 
   function(x) read.csv(paste("input/CCN/", x, sep=''),fill = TRUE, 
               header = TRUE, skip = 4)), date = test))

Или используя purrr функции:

library(purrr)
ccn_data_raw <- map2_df(map(ccn_files, function(x)
               read.csv(paste("input/CCN/", x, sep=''), fill = TRUE, header = TRUE, 
               skip = 4)), test, cbind)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...