R tidyverse 合并数据

我有两个数据框(这是头部):

1:

# A tibble: 6 x 2
  twitterID           Username       
  <chr>               <chr>          
1 849567328899616768  AchimKessler   
2 1117749912          Achim_P        
3 186552155           NA             
4 172269309           agnieszka_mdb  
5 1127961248493129728 StegemannAlbert
6 1178640571725955073 BDobrindt 

2:

# A tibble: 6 x 3
  Username     TwitterID Name                
  <chr>            <dbl> <chr>               
1 achimkessler        NA Achim Kessler       
2 achim_p             NA Achim Post          
3 achim_p             NA Achim Post          
4 achim_p             NA Achim Post  (Minden)
5 NA                  NA Adis Ahmetovic      
6 NA                  NA Agnes Alpers  

我希望通过用户名加入他们,用数据帧 1 中的 twitterID 填充数据帧 2 中的 TwitterID 列

使用tidyverse. 您可以先将用户名coalesce设为相同大小写,然后加入第二个数据帧,然后使用ID 替换 NA(如果可用)。

library(tidyverse)

df1 %>%
  dplyr::mutate(Username = tolower(Username)) %>%
  tidyr::left_join(., df2, by = "Username") %>%
  dplyr::mutate(TwitterID = coalesce(TwitterID.x, TwitterID.y)) %>%
  dplyr::select(-TwitterID.x,-TwitterID.y)
上一篇:es6参数的默认值


下一篇:vue体验