Как я могу отобразить вектор строк как аргумент функции? - PullRequest
1 голос
/ 22 мая 2019

Я хочу извлечь данные из соединения Impala, используя функции tbl () и in_schema () из dplyr и implyr. Мне нужно сделать это для каждой таблицы в отдельности, а также указать таблицу с помощью функции in_schema () и строки для определения таблицы. Однако в качестве аргумента может быть задана только одна строка (т.е. одна таблица), а не вектор строк. Вместо того, чтобы копировать один и тот же код x раз, мне было интересно, есть ли более элегантный способ отображения этого. Подробности см. В примере кода.

Возьмем этот вектор строк, например:

tables <- c("table_a", "table_b", "table_c")

Чтобы извлечь одну таблицу, код работает так:

table_a <- tbl(impala, in_schema("schema", "table_a"))

Это не работает, что имеет смысл, поскольку ожидается только одно строковое значение:

tables <- tbl(impala, in_schema("schema", tables))

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

1 Ответ

0 голосов
/ 22 мая 2019

Вы можете сделать цикл:

result_tables <- list()

for(t in tables){

result_tables[t] <- tbl(impala, in_schema("schema", t))

}

...