如何将字符串向量映射为函数的参数?

时间:2019-05-22 10:17:18

标签: r mapping impala

我想使用dplyr和implyr的tbl()和in_schema()函数从Impala连接中提取数据。我需要分别为每个表执行此操作,并需要使用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 :(得分:0)

您可以进行循环:

result_tables <- list()

for(t in tables){

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

}