R-基于第二个数据帧更改数据帧列的值

R-基于第二个数据帧更改数据帧列的值,r,R,我需要根据第二个数据帧(列Gene_符号)的值更改数据帧第一列(ID_REF)的de名称,该值由两个数据帧(ID_REF和IlmnID)的第一列匹配 我的输出: new_df Gene_Symbol Sample1 Sample2 Sample3 ATP2A1 0.2841738 1.212398 0.5326877 SLMAP -4.7278154 -4.217920 -4.1224573 MEOX2 -5.7353341 -5.96

我需要根据第二个数据帧(列Gene_符号)的值更改数据帧第一列(ID_REF)的de名称,该值由两个数据帧(ID_REF和IlmnID)的第一列匹配

我的输出:

new_df
    Gene_Symbol Sample1 Sample2 Sample3
    ATP2A1  0.2841738   1.212398    0.5326877
    SLMAP   -4.7278154  -4.217920   -4.1224573
    MEOX2   -5.7353341  -5.966922   -6.2235540

这将只是一个简单的
内部连接
。您可以使用
dplyr
包,也可以使用基本R中的
merge
。请注意,如果df中没有匹配的ID\u REF,则使用
internal\u join
将省略该行

library(dplyr)

new_df <- inner_join(df1, df2, by = c("ID_REF" = "IlmnID")) %>%
               select(Gene_Symbol, Sample1, Sample2, Sample3)
库(dplyr)
新的_df%
选择(基因符号、样本1、样本2、样本3)
df1基本包:

merge(df2[ , c("NameIlmnStrand", "Gene_Symbol")], df1,
      by.x = "NameIlmnStrand", by.y = 'ID_REF',
      all.y = TRUE)[ ,-1]
输出

 Gene_Symbol    Sample1   Sample2    Sample3
1      ATP2A1  0.2841738  1.212398  0.5326877
2       SLMAP -4.7278154 -4.217920 -4.1224573
3       MEOX2 -5.7353341 -5.966922 -6.2235540
merge(df2[ , c("NameIlmnStrand", "Gene_Symbol")], df1,
      by.x = "NameIlmnStrand", by.y = 'ID_REF',
      all.y = TRUE)[ ,-1]
 Gene_Symbol    Sample1   Sample2    Sample3
1      ATP2A1  0.2841738  1.212398  0.5326877
2       SLMAP -4.7278154 -4.217920 -4.1224573
3       MEOX2 -5.7353341 -5.966922 -6.2235540