R在删除旧列的同时将一个数据帧中的列与另一个数据帧中的列组合

时间:2016-11-12 12:59:54

标签: r dplyr

我有一个主数据框,我根据旧列创建了新列

我最初为这些列创建了主数据框的子集,并执行了一些转换,现在希望合并列,删除过程中的旧列

主数据框中的旧列名为rev_quest_7rev_quest_5,分别包含7列和5列

我从之前的列创建的新列名为updated_7updated_5,包含相同数量的列和数据

这四个都是数据框。

mydf_calc <- mydf%>% 
  select(everything(), -rev_quest_7, -rev_quest_5) %>% 
  bind_cols(updated_7, updated_5)

最后,我希望合并主数据框中的数据框updated_7updated_5主框架rev_quest_7rev_quest_5,从而创建一个名为{{的新数据框架1}}。此问题中的所有四个五项都是数据框

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是使用select_以编程方式指定要使用数据框rev_quest_7rev_quest_5中的列名称删除的列:

library(dplyr)
mydf_calc <- mydf %>% select_(.dots=paste0("-",unique(c(colnames(rev_quest_7),colnames(rev_quest_5))))) %>%
                      bind_cols(update_7,update_5)

我将通过一个简单示例说明rev_quest_7rev_quest_5只有2的{​​{1}}列,但这无关紧要:

mydf