Здесь у меня есть два набора данных 1. TABLE2 ---- выглядит как
essemble Entry Entry name
ENSP00000011292 P15085 CBPA1
ENSP00000166534 O15460 P4HA2
ENSP00000179259 Q9NQ88 TIGAR
ENSP00000196061 Q02809 PLOD1
ENSP00000196371 P55809 SCOT1
ENSP00000205402 P09622 DLDH
ENSP00000216780 Q16822 PCKGM
ENSP00000216951 P48637 GSHB
ENSP00000217961 P08842 STS
ENSP00000221476 P06732 KCRM
ENSP00000222673 Q02218 ODO1
ENSP00000223127 O60568 PLOD3
ENSP00000226253 P09972 ALDOC
ENSP00000226299 P28838 AMPL
TABLE1 - второй набор данных выглядит следующим образом:
9606.ENSP00000011292 9606.ENSP00000011292 9606.ENSP00000011292 9606.ENSP00000166534 9606.ENSP00000166534 9606.ENSP000001963700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000060000006000000610000060000006100011200112001120010100001-21000 910 '' '' '' 'по имени *1003*.ENSP00000196371 9606.ENSP00000196371 9606.ENSP00000196371 9606.ENSP00000205402 9606.ENSP00000205402 9606.ENSP00000205402 9606.ENSP00000205402 9606.ENSP00000216780 9606.ENSP00000216780 9606.ENSP00000216780 9606.ENSP00000216780 9606.ENSP00000216780 9606.ENSP00000216780 9606.ENSP00000216951 9606.ENSP00000216951
1008 *МОЙ ЗАПРОС --- Я хочу поместить данные TABLE2 в данные Table1, в которых я хочу заменить идентификатор в TABLE2 на имя записи в TABLE1
Я пытаюсь выполнить слияние, но из-за дублирования идентификаторов, присутствующих в данных, этоне будет работать должным образом.Я использую для цикла, но не работает код ---
TABLE2 = unite(uniprot_EN_recon_protein, ess, c("h" , "essemble"), sep = ".", remove = TRUE)
ess_id = TABLE2[,1]
prot_name = TABLE2[,3]
result = data.frame(length(TABLE1))
for(i in 1:length(maine))
{
c = TABLE1[i]
d = grep(c , ess_id)
if(length(d) != 0)
{
result[i,1] = prot_name[d]
}
}
Заранее спасибо