我有2个数据集(基因名称的列表/列),例如:
df1
Gene_id
SUMO2
CDC37
COPB2
BECN1
CAPNS1
和
df2
Gene_id
SUMO2
BECN1
CAPNS1
我想创建一个新的数据集,其中包含2列基因名称匹配的列。第1列中的所有df1基因都与第1个匹配,而所有df2基因的第2个在第1列中都匹配。在第2列没有匹配的NA中,如下所示。最好在R或Python中使用dplyr。谢谢
Gene_id Gene_id
SUMO2 SUMO2
CDC37 NA
COPB2 NA
BECN1 BECN1
CAPNS1 CAPNS1
答案 0 :(得分:2)
df1 %>%
mutate(Gene_id_2 = ifelse(Gene_id %in% df2$Gene_id, as.character(Gene_id), NA)) #as.character in case you deal with factors
# Gene_id Gene_id_2
# 1 SUMO2 SUMO2
# 2 CDC37 <NA>
# 3 COPB2 <NA>
# 4 BECN1 BECN1
# 5 CAPNS1 CAPNS1
答案 1 :(得分:1)
我们可以使用%in%
i1 <- df1$Gene_id %in% df2$Gene_id
df1$newGene_id[i1] <- df1$Gene_id[i1]