r - 仅将 Group 保留在 df1 中,这些 Group 存在于另一个 df 中,但有例外
问题描述
为了只保留 df1 中存在的 df2 组中的组,我使用:
restricted_df<-df1[df1$Group %in% df2$Group,]
但是如何在%in% df2$Group
哪里做同样的事情df2$col2 contain a point
。`?
这是一个例子
df1
Group col2
A AZ
A AP
A EZ
B EA
B RT
C ES
D TR
E GT
df2
Group Col2
A ok.l
C ok
E ok.po
受限的_df
Group col2
A AZ
A AP
A EZ
E GT
解决方案
df2
仅对具有的那些组进行子集'ok'
:
df1[df1$Group %in% df2$Group[grepl('\\.', df2$Col2)],]
# Group col2
#1 A AZ
#2 A AP
#3 A EZ
#8 E GT
或使用连接dplyr
:
library(dplyr)
df2 %>%
filter(grepl('\\.', Col2)) %>%
left_join(df1, by = 'Group') %>%
select(-Col2)
推荐阅读
- c - 无论如何要创建一个 if 语句来打印一个输出,说明我已经超过了多少公斤?
- selenium-webdriver - 如何用 selenium 和 java 修复这个 NullPointerException?
- java - 我的 CloudWatch 日志中缺少 AWSRequestId
- anypoint-studio - 如何在 Mulesoft 4 中使用 dataweave 获取流中的当前路径?
- c# - asp mvc core 3 自定义属性验证的客户端验证
- c++ - 使用不同的 clang 格式版本统一输出
- python - Jupyter notebook 使用 numpy 导入其他 .py 文件不起作用
- php - 发布可以被多个页面访问的数据
- c# - 为什么我的程序在多次将数据从 c++ dll 传递到 c# 后停止?(没有错误信息)
- python-3.6 - 在类中避免使用“self.”和变量样板