首页 > 解决方案 > 如何用来自另一个数据框的列注释列

问题描述

我想在 r 中执行以下操作:

df1 是

symbol assession.number ensembl.id value  
N/A NM_001954   ENSG00000204580 6.173531  
RFC2    NM_002914   ENSG00000049541 6.613105  
PAX8    NM_013951   ENSG00000125618 8.793348  

df2 是

assession.number symbol   
NM_001954   DDR1  
NM_001954_2 DDR1  
NM_001954_3 DDR1  
NM_001954_4 DDR1  

我想知道是否有办法用df2中的符号填充df1中的N/A?提前致谢!

标签: r

解决方案


library(dplyr)
df1 %>% 
    left_join(df2, 'assession.number') %>%
    mutate(symbol = ifelse(grepl('N/A', symbol.x), symbol.y, symbol.x))%>%
    select(-symbol.x, -symbol.y)

  assession.number      ensembl.id    value symbol
1        NM_001954 ENSG00000204580 6.173531   DDR1
2        NM_002914 ENSG00000049541 6.613105   RFC2
3        NM_013951 ENSG00000125618 8.793348   PAX8

推荐阅读