使用另一个搜索一个数据框中的值

时间:2014-12-09 07:12:09

标签: r if-statement dataframe

我有2个数据框:dfAdfB

我希望能够从符合dfB

的条件的dfA中提取整行

示例:

if (dfA$colA == dfB$colB) && (dfB$colC >= dfA$colD) && 
  (dfB$colC <= dfA$colE) { print rows from dfB }

dfA中第1列的值必须与dfB

中第2列完全匹配

dfB中第3列的值需要在dfA中第4列和第5列设置的范围内。

输出应该是dfB符合这些条件的行。

1 个答案:

答案 0 :(得分:0)

我不确定R,但我猜它必须与Pandas类似:只需创建三个布尔掩码,每个标准一个,然后将它们与整体掩码相结合。

实施例: 1stBoolMask = dfB [dfA $ colA == dfB $ colB] - &gt;类似于(0 0 1 1 0 1 0 1 ...)的东西返回。 A&#34; 1&#34;代表dfB中的每个匹配条目。

2ndBoolMask = ...

3rdBoolMask = ...

- &GT; OverallMask = 1stBoolMask&amp; 2ndBoolMask&amp; 3rdBoolMask

然后将这个应用到dfB,你应该完成。 &#34; 1s&#34;在结果过滤器中表示dfB的匹配行。