Я пытаюсь объединить два кадра данных на основе двух переменных (Entrez.ID и Gene.ID).Один фрейм данных содержит только эти переменные, например
Entrez.ID Gene.ID
10007 GNPDA1
10016 ALG2
10044 SH2D3C
и один фрейм данных, который имеет три переменные, например,
Entrez.ID Gene.ID Ensembl.ID
10007 GPI ENSG00000113552
10016 PDCD6 ENSG00000249915
10044 CHAT ENSG00000095370
В настоящее время, когда я объединяю файлы, используя:
df<-merge(df1,df2,by=c("Entrez.ID","Gene.ID"),all=TRUE)
Я получаю фрейм данных, который выглядит следующим образом:
Entrez.ID Gene.ID Ensembl.ID
10007 GNPDA1 <NA>
10007 GPI ENSG00000113552
10016 ALG2 <NA>
10016 PDCD6 ENSG00000249915
10044 SH2D3C <NA>
10044 CHAT ENSG00000095370
, но я хочу создать фрейм данных, который выглядит следующим образом:
Entrez.ID Gene.ID Ensembl.ID
10007 GNPDA1 ENSG00000113552
10007 GPI ENSG00000113552
10016 ALG2 ENSG00000249915
10016 PDCD6 ENSG00000249915
10044 SH2D3C ENSG00000095370
10044 CHAT ENSG00000095370
Как мне сказать R, что гдепеременная Entrez.ID соответствует, я хочу, чтобы Ensembl.ID совпадал (то есть, чтобы заменить NA на Ensembl.ID, где это возможно)?