按nam匹配行

2024-06-10 02:16:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据集(基因名称列表/列),例如:

df1

Gene_id
SUMO2
CDC37
COPB2
BECN1
CAPNS1

以及

df2

Gene_id
SUMO2
BECN1
CAPNS1

我想建立一个新的数据集,其中有2列的基因名称匹配。第1列是所有df1基因,第2列是所有df2基因。NA是第2列没有匹配项的地方,如下所示。最好使用R或Python中的dplyr。谢谢

Gene_id Gene_id
SUMO2   SUMO2
CDC37   NA
COPB2   NA
BECN1   BECN1
CAPNS1  CAPNS1

Tags: 数据名称id列表地方基因df1df2
1条回答
网友
1楼 · 发布于 2024-06-10 02:16:35
    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
网友
2楼 · 发布于 2024-06-10 02:16:35

我们可以使用%in%

i1 <- df1$Gene_id %in% df2$Gene_id
df1$newGene_id[i1] <- df1$Gene_id[i1]

相关问题 更多 >