R-基于第二个数据帧更改数据帧列的值
我需要根据第二个数据帧(列Gene_符号)的值更改数据帧第一列(ID_REF)的de名称,该值由两个数据帧(ID_REF和IlmnID)的第一列匹配 我的输出: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
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