我有2个数据框:dfA
和dfB
我希望能够从dfB
符合条件的行中提取整行dfA
例子:
if (dfA$colA == dfB$colB) && (dfB$colC >= dfA$colD) &&
(dfB$colC <= dfA$colE) { print rows from dfB }
第1列中的值dfA
必须与第2列中的值完全匹配dfB
和
第3列中的值dfB
需要落入的第4列和第5列设置的范围内dfA
。
输出应该是dfB
满足这些条件的行。
我不确定R,但我想它一定与Pandas类似:只需创建三个布尔蒙版(每个条件一个),然后将它们组合为一个整体蒙版即可。
示例:1stBoolMask = dfB [dfA $ colA == dfB $ colB]->返回类似(0 0 1 1 0 1 0 1 ...)的内容。“ 1”代表dfB中的每个匹配条目。
2ndBoolMask = ...
3rdBoolMask = ...
->整体遮罩= 1stBoolMask和2ndBoolMask和3rdBoolMask
然后将此内容应用于dfB,您应该已完成。结果滤波器中的“ 1”代表dfB的匹配行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句