Вы возвращаете все записи в ансамбле, и вам нужно объединить:
my_ids = data.frame(ids=c("ENSG00000130203","ENSG00000136717","ENSG00000186868"))
df = merge(my_ids,results_end_1,by.x="ids",by.y="ensembl_gene_id")
df
ids external_gene_name
1 ENSG00000130203 APOE
2 ENSG00000136717 BIN1
3 ENSG00000186868 MAPT
Или вам нужно установить опцию «filters», чтобы получить записи в my_ids:
out <- getBM(attributes = c("ensembl_gene_id","external_gene_name"),
values = my_ids, mart = ensembl,filters="ensembl_gene_id")
ensembl_gene_id external_gene_name
1 ENSG00000130203 APOE
2 ENSG00000136717 BIN1
3 ENSG00000186868 MAPT
А можно написать:
write.csv(out,"out.csv",row.names=FALSE,quote=FALSE)