R函数在两个单独的数据帧中查找匹配项?

R函数在两个单独的数据帧中查找匹配项?,r,dataframe,bioinformatics,bioconductor,R,Dataframe,Bioinformatics,Bioconductor,我是R编程的新手,所以我搜索了很多东西,但找不到我想要的东西 我有两个数据帧,比如 数据帧1: Accession `Gene Symbol` `siCON-1` `siCON-2` `siCON-3` `siTR-1` `siTR-2` `siTR-3` `log2(siTR/s~ p_val `-log10(t.test si~ <chr> <chr> <dbl> <dbl> <

我是R编程的新手,所以我搜索了很多东西,但找不到我想要的东西

我有两个数据帧,比如

数据帧1:

Accession `Gene Symbol`  `siCON-1` `siCON-2` `siCON-3` `siTR-1` `siTR-2` `siTR-3` `log2(siTR/s~   p_val `-log10(t.test si~
  <chr>     <chr>              <dbl>     <dbl>     <dbl>        <dbl>        <dbl>        <dbl>             <dbl>   <dbl>              <dbl>
1 Q14258    TRIM25            2283.     2570.     2749.         489          498.         480.             -2.37  1.14e-4              3.94 
2 Q9P035    PTPLAD1; HACD3    1080.      857.     1060.         338.         439.         264              -1.52  1.74e-3              2.76 
3 Q9NP99    TREM1               45.7      NA        65.3         55           32.7          3.2            -0.873 3.10e-1              0.508
4 P35226    BMI1; COMMD3-~      46.3      42.6      36.1         12.3         23.7         12.6            -1.36  6.03e-3              2.22 
5 Q14117    DPYS                44.9      NA        73.1         51.7         36.9          0.8            -0.985 2.79e-1              0.554
6 Q6IAN0    DHRS7B             173.      149.      213.          92.3         73.7         62.6            -1.22  7.77e-3              2.11 
我只想搜索表2中表1中的每个登录ID,如果匹配,我想将表2中的V2和V4复制到表1中

我该怎么做?提前谢谢

编辑:很抱歉造成混淆,Accession是用于匹配的,V1是第二个数据帧中的匹配

我想将“Q14258”作为一个示例,从中的第一个数据帧与第二个数据帧V1进行比较,如果存在匹配,我想从第二个数据帧获得V2和V4,并在数据帧1中添加新列。我希望这件事能澄清

Edit2:我用过这个代码


匹配当您想要组合两个数据帧时,那么您想要使用一个
连接

我做了一些示例数据,因为我不确定我是否理解您在问题中的数据。我知道df1中的
加入
与df2中的
V1
相同

library(tidyverse)

df1 <- tribble(
    ~Accession, ~GeneSymbol,
        'Q1', 'TRIM25',
        'Q2', 'PTPLAD1',
        'Q3', 'TREM1' )
df2 <- tribble(
    ~V1, ~V2,
    'Q1', 'R-HSA-109581',
    'Q2', 'R-HSA-109582',
    'Q4', 'R-HSA-109583',
    'Q5', 'R-HSA-109584',
    'Q6', 'R-HSA-109585' )
)
#一个tible:3 x 3
注册号V2
1 Q1 TRIM25 R-HSA-109581
2 Q2 PTPLAD1 R-HSA-109582
3第3季度1不适用
还有其他类型的联接。查看哈德利·威克姆的书中的信息


我在数据帧2中没有看到登录ID。请提供示例数据的预期输出,并解释如何识别匹配项。感谢@Limey,我想将“Q14258”作为示例从中的第一个数据帧与第二个数据帧V1进行比较,如果存在匹配项,我想从第二个数据帧获得V2和V4,并在数据帧1中添加新列。我希望这件事能澄清。Thank
Q14258
在数据框2中的任何位置都没有出现,因此不可能进行匹配。Thank@Limey我没有将所有数据放在这里,它位于数据框顶部,由大约600k的数据组成。能告诉我你是怎么找的吗?非常感谢@Aaron,这是一个很好的解释。同时也感谢你们为我提供了这本书。我肯定会更详细地讨论,没问题。如果答案解决了你的问题,你会接受吗?
 [1]  87059 130058 126612  50691  86417  97429  80338     NA     NA  34876 132613 138390  86681  48874     NA     NA     NA 121653     NA
  [20]  83210     NA     NA  22832  98354 104386  80531  11963    338     NA  58060  50032  12127 133036  11434 111307  26229     NA  89105
  [39] 107669   2329  57826     NA  12101  35659     NA 100915     NA 119519     NA     NA  92556 128938  13341 130104 133727 103605     NA
  [58] 105145 124370  27343     NA 100357  47092  93135  39138  66942     NA  23662 116234     NA  85757     NA 125647     NA     NA     NA
  [77]  59705     NA 109960  44700 135309 121942     NA  74508     NA     NA 111882  15365  94138 122808 137613  58407  28641     NA 110505
  [96]  76572     NA 104295     NA 130022  71937  63190 101249 113658 133776  36281     NA  61907  56843     NA  94265  24763 119085  81442
 [115]     NA     NA  89343     NA     NA 100597     NA   4782 131283  88704     NA     NA  67450  57507 118512  10851     NA  12182  58482
library(tidyverse)

df1 <- tribble(
    ~Accession, ~GeneSymbol,
        'Q1', 'TRIM25',
        'Q2', 'PTPLAD1',
        'Q3', 'TREM1' )
df2 <- tribble(
    ~V1, ~V2,
    'Q1', 'R-HSA-109581',
    'Q2', 'R-HSA-109582',
    'Q4', 'R-HSA-109583',
    'Q5', 'R-HSA-109584',
    'Q6', 'R-HSA-109585' )
)
df1 %>% 
    inner_join(df2, by=c("Accession" = "V1"))
# A tibble: 2 x 3
  Accession GeneSymbol V2          
  <chr>     <chr>      <chr>       
1 Q1        TRIM25     R-HSA-109581
2 Q2        PTPLAD1    R-HSA-109582
df1 %>% 
    left_join(df2, by=c("Accession" = "V1"))
# A tibble: 3 x 3
  Accession GeneSymbol V2          
  <chr>     <chr>      <chr>       
1 Q1        TRIM25     R-HSA-109581
2 Q2        PTPLAD1    R-HSA-109582
3 Q3        TREM1      NA