У меня есть 3 фрейма данных, координаты, анно и конвертирование.
ords содержит список координат и идентификационный код для каждого местоположения.Некоторые местоположения имеют несколько координат.
row 36381: NW_003566036.1, 1244298
row 36390: NW_003566036.1, 1317973
row 36396: NW_003566036.1, 1430739
anno содержит данные координат в другой форме, а идентификатор также находится в другой форме.
row 1: CM001169.1, gene, 1965676, LOC100649911
row 3: CM001170.1, gene, 1491294, LOC100647500
преобразование представляет собой отображение 1: 1разные коды идентификаторов от одного к другому.
row 1: NC_015762.1, CM001169.1
row 2: NC_015763.1, CM001170.1
Я хочу вывести новый фрейм данных, который заменяет код идентификатора, используемый в координатах, на код идентификатора, используемый в anno, однако выполнение этого вручную будет ужаснымтак как есть более 5000 локаций.Они не в том же порядке, и некоторые идентификаторы в конвертировании не присутствуют в координатах или в анно.
Я попытался использовать recode (), но это не представляется практичным повторить для 5000+ экземпляров.Я также пробовал mapvalues из пакета plyr, но он не согласился со мной относительно того, что является приемлемым выводом.
Например:
output <- data.frame(mapvalues(coords$ID, from = convert$`old ID`,
to = convert$`new ID`))
выкачал пустую таблицу / вектор / что-то.
Я получил следующую ошибку:
Error in mapvalues(coords, from = convert$`old code`, to = convert$`new code`) :
`x` must be an atomic vector.
, используяэтот код:
output <- mapvalues(coords, from = convert$`old ID`, to = convert$`new ID`)