【发布时间】:2017-10-01 18:35:38
【问题描述】:
我正在尝试使用dplyr::select() 和 dplyr::contains()` 的组合来实现正子集,目标是通过多个字符串匹配来实现子集。
最小的工作示例:从df1 开始并进行负子集化时,我按预期生成df2。相反,当我尝试对df1 进行正子集化时,我会生成df3(无列),而我本来期望像df4 这样的东西。谢谢你的帮助。
df1 <- data.frame("ppt_paint"=c(45,98,23),"het_heating"=c(1,1,2) ,"orm_wood"=c("QQ","OA","BB"), "hours"=c(4,6,4), "distance"=c(23,65,21))
df2 <- df1 %>% select(-contains("ppt_")) %>% select(-contains("het_")) %>% select(-contains("orm_"))
df3 <- df1 %>% select(contains("ppt_")) %>% select(contains("het_")) %>% select(contains("orm_"))
df4 <- data.frame("ppt_paint"=c(45,98,23),"het_heating"=c(1,1,2) ,"orm_wood"=c("QQ","OA","BB"))
【问题讨论】: