r 数据集根据列表中的值改变新变量

r dataset mutate new variable based on values in a list

所以,我有一个包含大量中心列表的数据框。我想添加一列,其中每个中心都采用固定在第二个数据框中的特定值。

第一个数据库如下所示:

Centre      Date       BL_MC        BL_MP
   <chr>  <date>        <dbl>       <dbl>
 1 0RI    2019-05-19        0           0
 2 0RI    2019-05-22        0           0
 3 0RI    2019-05-29        0           0
 4 0RI    2019-05-31        0           0
5 0RI    2019-06-03        0           0
 6 0RI    2019-06-05        0           0
 7 0RI    2019-06-06        0           0
 8 0RI    2019-06-13        0           0
 9 0RI    2019-06-14        0           0
10 0RI    2019-06-17        0           0
# ... with 563,836 more rows, and 7 more
#   variables: GP_SAV_Retail <dbl>,
#   GP_SAV_W <dbl>, GP_SAV <dbl>,
#   Total_general.x <dbl>, SAV_GP_BL <dbl>,
#   BL_MP <dbl>, QRL <dbl>

第二个:

Centre         Park
   <chr>       <dbl>
 1 1BR           252
 2 1HM           198
 3 1JC           171
 4 1LM           245
 5 1MM           149
 6 1PR           200
 7 1SX            64
 8 1VM           123
 9 2FR           168
10 2MN            94
# ... with 1,453 more rows

我想要获得的输出如下:

Centre    Date      BL_MC     BL_MP     Park 
0RI       17/12/2019  45       5         328

我尝试合并两个数据框,但 R 没有分配正确的值。我真的不知道 怎么做,因为我对 R 还很陌生。有什么想法吗?

先谢谢你

匹配函数就是您要查找的函数(在 base R 中):

db1$park = dn2$park[match(db1$center, db2$center)]

match(db1$center, db2$center) returns db1 的中心可以在 db2 中找到的位置(db1 和 db2 是您的两个数据库)

我认为这是一个合并(基本函数):

db <- merge(db1, db2, by='center')