如何根据多列从两个数据框中提取值?

时间:2019-05-16 08:34:05

标签: r

我有两个数据框:

Input1具有4列和687672行

     ColumnA    ColumnB     ColumnC     ColumnD     
           1    321851      322180      ENPP1     
           1    321851      322063      ENPP1     
           1    322061      322063      ENPP1      
           2    289674      289746      ENPP2     
           2    289674      289746      ENPP2       
           2    287787      287903      ENPP2      
           2    287787      287903      ENPP2      

input2具有2列和137行。

     ColumnA    ColumnB     
           1    321850      
           1    321856      
           1    322062      
           1    322179       
           1    321850     
           2    289675       
           2    289680       
           2    287780       

结果应该是这样

             ColumnA    ColumnB ColumnC  ColumnD     ColumnE   ColumnF   ColumnG
             1          321850  NA         
             1          321856  ENPP1     321851      322180   321851      322063   
             1          322062  ENPP1     322061      322063 
             1          322179  ENPP1     321851      322180 
             2          289675  ENPP2     289674      289746    289674      289746 
             2          289680  ENPP2     287787      287903    287787      287903  
             2          287780  NA        

例如input2 columnA = 1,columnB = 321856,columnB将为lie
在input1列B和C之间

    input1     
    1   321851      322180      ENPP1     
    1   321851      322063      ENPP1    

input1和input2 ColumnA应该匹配

如果输入1和2的列A匹配,则检查输入2的列B中的值。如果该值位于input1的B列和C列之间

B和C列应添加到input2列D,E,F,G

我尝试在此过程中使用R。但是它不能很好地工作。我尝试使用过滤器功能,但看起来输入1和输入2之间存在长度问题。你有什么建议吗?

0 个答案:

没有答案