首页 > 解决方案 > 左连接时只带必要的列

问题描述

在此处输入图像描述

我想带上 select(~~~) 中写的列,但是当我运行此代码时,会带上 accountmaster 中的所有列。有没有办法在左连接时只带来必要的列?

我的代码如下。

accountuniverse <- union(subset(accountmaster, select = c("acctCD")),
                         subset(Sales2016, select = c("acctCD")),
                         subset(Sales2017, select = c("acctCD")),
                         subset(Sales2018, select = c("acctCD")),
                         subset(Sales2019, select = c("acctCD"))) %>% 
  left_join(accountmaster, %>% select(Acctname,DistrictCD,TerritoryCD,PostCD,Address, Acctclassificationname,Accttypename), by=c("acctCD")) 

先感谢您。

标签: rdplyr

解决方案


未经测试,这样的事情应该可以工作:

accountuniverse <- union(subset(accountmaster, select = c("acctCD")),
                         subset(Sales2016, select = c("acctCD")),
                         subset(Sales2017, select = c("acctCD")),
                         subset(Sales2018, select = c("acctCD")),
                         subset(Sales2019, select = c("acctCD"))) %>% 
  left_join(accountmaster, by = "acctCD") %>%
  select(Acctname, DistrictCD, TerritoryCD, PostCD, Address,
         Acctclassificationname, Accttypename)) 

注意:最好坚持一种范式,无论是基本的还是整洁的。


推荐阅读