用于获取多个数据帧并将其绑定到gheter的函数-R

时间:2019-06-13 07:28:58

标签: r

我在sql视图中有20个数据框,每年一个。它们被命名为“ ZZZ_2017”,“ ZZZ_2016”等。我使用R并希望编写一个函数来获取这些数据帧,为年份添加一列,然后将其绑定到gheter,返回一个数据帧。

我创建了一个简单的函数,可以完成上述操作。它获取单个数据帧并添加一列。 (附代码)我正在考虑是否有可能在我想绑定到gheter的那一年中循环使用该功能(year = c(1997:2017))...但是我不知道该怎么做。

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

2 个答案:

答案 0 :(得分:0)

尝试一下...

your.df <- as.data.frame(sapply(c(1997:2017), function(year) {
              df <- tbl(con, paste0("ZZZ_", x)) %>%
              collect()
              df <- df %>% mutate(Year = year)
}))

答案 1 :(得分:0)

我们可以尝试

purrr::map_dfr(c(1997:2017), function(year){
                             df <- tbl(con, paste0("ZZZ_", year)) %>% collect()
                             }, .id='year')