Как сопоставить значения из фрейма данных с другим - PullRequest
0 голосов
/ 05 ноября 2018

Я скачал 876 последовательностей ДНК длиной 276 нуклеотидов и сделал df с информацией. TOTAL <- read.csv("TOTAL.csv") TOTAL Ind Seq Tipo 1 AACTTTCAACAACGGATCTCTTGGTTC... _NA_ 2 AACTTTTAAAAACGGGTTCTTTGGTTC... _NA_ 3 AACTTTCAACAACGGATCTCTTGGTTC... _NA_ 4 AACTTTCAACAACGGATCTCTTGGTTC... _NA_ 52 AACTTTCAACAACGGATCTCTTGGGTC... _NA_ 821 AACTTTCAACAACGGATTTTTTGGTTC... _NA_ 876 AACTTTCAACAACGGATCTCTTGGTTN... _NA_

Затем я извлек уникальные последовательности и обнаружил, что существует 53 различных типа последовательностей. Наконец, я присвоил каждой уникальной последовательности символьное значение от "A" до "BA". UNIQUE <- read.csv("UNIQUE.csv") UNIQUE Ind Seq Tipo 1 AACTTTCAACAACGGATCTCTTGGTTC... A 2 AACTTTTAAAAACGGGTTCTTTGGTTC... B 3 AACTTTCAACAACGGATCTCTTGGTTC... C 10 AACTTTCAACAACGGATCTCTTGGGTC... J 30 AACTTTCAACAACGGATTTTTTGGTTC... AD 53 AACTTTCAACAACGGATCTCTTGGTTN... BA

То, что я хочу, для каждого значения в TOTAL$Seq найти совпадение в UNIQUE$Seq. Затем присвойте TOTAL$Haplo значение в UNIQUE$Haplo, соответствующее совпадению с UNIQUE$Seq. Как я могу это сделать? TOTAL Ind Seq Tipo 1 AACTTTCAACAACGGATCTCTTGGTTC... A 2 AACTTTTAAAAACGGGTTCTTTGGTTC... B 3 AACTTTCAACAACGGATCTCTTGGTTC... C 4 AACTTTCAACAACGGATCTCTTGGTTC... C 52 AACTTTCAACAACGGATCTCTTGGGTC... J 821 AACTTTCAACAACGGATTTTTTGGTTC... AD 876 AACTTTCAACAACGGATCTCTTGGTTN... BA

1 Ответ

0 голосов
/ 05 ноября 2018

Использование dplyr:

TOTAL$Seq<-as.character(TOTAL$Seq)
TOTAL<-TOTAL[,1:2]
UNIQUE$Seq<-as.character(UNIQUE$Seq)
left_join(TOTAL, UNIQUE, by="Seq")

Если вы получаете столбец с именем Ind.y, замените UNIQUE в последней строке на UNIQUE[,2:3]

...