简体   繁体   English

在不同的数据帧中提取具有相同值的行

[英]Extract rows with same value across different dataframes

I have the df files below, which contains many rows.我有下面的 df files ,其中包含许多行。

# A tibble: 2,320,079 x 2
   `files$File`                      `files$ID`
   <fct>                                 <int>
 1 oa_package/e6/58/176545.tar.gz     12929205
 2 oa_package/36/ba/176546.tar.gz     12929206
 3 oa_package/a9/0c/176547.tar.gz     12929207
 4 oa_package/46/44/176548.tar.gz     12938460
 5 oa_package/81/5e/193604.tar.gz     12975658
 6 oa_package/a5/8c/193605.tar.gz     12975657
 7 oa_package/f6/9e/193606.tar.gz           NA
 8 oa_package/93/a3/193607.tar.gz           NA
 9 oa_package/34/af/212687.tar.gz     14551903
10 oa_package/c5/d6/212688.tar.gz           NA
# … with 2,320,069 more rows

I also have a df ID_1 which contains same datatype as 'files$ID' , but which has only 186 rows.我还有一个 df ID_1 ,它包含与'files$ID'相同的数据类型,但只有 186 行。

# A tibble: 186 x 1
   ID      
   <int>   
 1 30237023
 2 12929205
 3 31475741
 4 32319557
 5 33842337
 6 28476099
 7 30103771
 8 12938460
 9 26417675
10 14551903
# … with 176 more rows

My question is: how do I extract all rows in files where 'files$ID' has a value equal to ID row in the ID_1 df?我的问题是:如何提取files'files$ID'所有行,其中'files$ID'的值等于ID_1 df 中的ID行?

As a first step I have tried to mutate files to include ID but this does not work since the # of observations must be equal.作为第一步,我试图改变files以包含ID但这不起作用,因为观察的数量必须相等。

files %>%
     mutate(row_3 = ID_1$ID)

result would be like this:结果是这样的:

  `files$File`                      `files$ID`
   <fct>                                 <int>
 1 oa_package/e6/58/176545.tar.gz     12929205
 4 oa_package/46/44/176548.tar.gz     12938460
 9 oa_package/34/af/212687.tar.gz     14551903

We may need a join here我们可能需要在这里加入

library(dplyr)
files %>%
     inner_join(ID_1, by = c("files$ID" = "ID"))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM