从一个数据框中提取特定的匹配信息,然后添加到另一个数据框中

时间:2019-08-06 23:23:54

标签: r dataframe

我刚开始使用R,并整理了一个运动数据库。我有数据框A,它具有两个变量:Player_ID和Player_Name。我有数据框B,该数据框是一个稳定的表,其中包含每个球员的赛季统计信息,但没有球员的ID。 我想对包含该玩家ID的DB B进行更改,或者以某种方式合并两者,在这里我基本上拥有数据库C,该数据库C在玩家名称旁边有一个附加变量,即其ID(来自DB A)。 任何指导将不胜感激!

1 个答案:

答案 0 :(得分:0)

这里有一本好书-R for Data Science。您可以在线阅读。这本书很容易随身携带,以供参考。您可以阅读有关Mutating joins的关系数据。正如上面评论中其他人所指出的,请给出一个可重现的示例,以便轻松给出更具针对性的答案。

根据您的描述,下面是一个right_join的示例,它可以为您提供所需的信息。

# A tibble: 4 x 2 (data frame A)
  Player_Id Name  
      <dbl> <chr> 
1         1 Name1 
2         2 Name2 
3         3 Name3 
4         4 Uknown  
# -------------------------------------------------------------------------
# A tibble: 4 x 2 (data frame B)
  Player Stat_score
  <chr>       <dbl>
1 Name1         193
2 Name2         222
3 Name3         333
4 Name4         444
# -------------------------------------------------------------------------
# The right join between column Name of df-A and Player of df-B using dplyr
library(dplyr)
C <- A %>%
right_join(B, c("Name" = "Player"))
# -------------------------------------------------------------------------
# the join results a df-C with 'NA' for those names in A but not in B
# A tibble: 4 x 3 (data frame C)
  Player_Id Name  Stat_score
      <dbl> <chr>      <dbl>
1         1 Name1        193
2         2 Name2        222
3         3 Name3        333
4        NA Name4        444