首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用dplyr&从多个表中选择列

如何使用dplyr&从多个表中选择列
EN

Stack Overflow用户
提问于 2019-12-30 15:24:14
回答 1查看 126关注 0票数 0

我使用反应性编程开发了一个闪亮的应用程序,假设反应性对象是函数,因此为了引用某些表,我必须在我们引用的表之后传递()

我设计的一个算法是使用SQL语法(在本例中是sqldf包)很好地实现的。我提供一个查询作为示例:

代码语言:javascript
运行
复制
ratios_135_final <- sqldf("select  
                  b.tot_cap_after_stress*100/c.rwa_0_after_stress as \"n1.0_after_stress\", 
                  b.osn_cap_after_stress*100/c.rwa_2_after_stress as \"n1.2_after_stress\",
                  b.bas_cap_after_stress*100/c.rwa_1_after_stress as \"n1.1_after_stress\",
                  a.\"REGN\", d.\"NAME\", a.date, f.buff 
                  from ratios a 
                  inner join capital_final b on (a.\"REGN\" = b.\"REGN\")
                  inner join rwa_final c on (a.\"REGN\" = c.\"REGN\") 
                  inner join names d on (a.\"REGN\" = d.\"REGN\")
                  inner join buffer_bank  f on (a.\"REGN\" = f.\"REGN\")  ")

正如您所看到的,我引用了5个表来构建查询。但我不能为instanse ...*from ratios()*编写代码。我试图学习dplyr语法,但我发现dplyr不提供任何函数来处理三个或更多的表。

你能帮我处理这个问题吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-30 16:29:47

这是等价的代码,但是它假设"REGN“是存在于多个表中的唯一列。如果有其他列名在不同的表间共享,则需要进一步修改。

代码语言:javascript
运行
复制
ratios_135_final <-
  ratios %>%
  inner_join(capital_final, by = "REGN") %>%
  inner_join(rwa_final, by = "REGN") %>%
  inner_join(names, by = "REGN") %>%
  inner_join(buffer_bank, by "REGN") %>%
  mutate(n1.0_after_stress = tot_cap_after_stress * 100 / rwa_0_after_stress,
         n1.2_after_stress = osn_cap_after_stress * 100 / rwa_2_after_stress,
         n1.1_after_stress = bas_cap_after_stress * 100 / rwa_1_after_stress) %>%
  select(n1.0_after_stress, n1.2_after_stress, n1.1_after_stress, REGN.x, NAME, date, buff) %>%
  rename(REGN = REGN.x)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59527124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档