我在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)
}
答案 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')