Функция для извлечения нескольких фреймов данных и связывания их вместе - R - PullRequest
1 голос
/ 13 июня 2019

У меня есть 20 фреймов данных, расположенных в представлении sql, по одному на каждый год.Они называются "ZZZ_2017", "ZZZ_2016" и т. Д. Я использую R и хочу написать функцию, которая выбирает эти кадры данных, добавляет столбец для года и затем связывает их вместе, возвращая один кадр данных.

У меня естьсоздал простую функцию, которая делает одно из вышеперечисленного.Он выбирает один фрейм данных и добавляет столбец.(Код прилагается) Я думаю, возможно ли зациклить эту функцию в течение года, в который я хочу связать тогетер (year = c (1997: 2017)) ... Но я не знаю, как это сделать.

    function(year) {
    df <- tbl(con, paste0("ZZZ_", year)) %>%
    collect()
    df <- df %>% mutate(Year = year)
    }

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Мы можем попробовать

purrr::map_dfr(c(1997:2017), function(year){
                             df <- tbl(con, paste0("ZZZ_", year)) %>% collect()
                             }, .id='year')
0 голосов
/ 13 июня 2019

Попробуйте это ...

your.df <- as.data.frame(sapply(c(1997:2017), function(year) {
              df <- tbl(con, paste0("ZZZ_", x)) %>%
              collect()
              df <- df %>% mutate(Year = year)
}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...