如何将数据框中的值匹配到另一个

时间:2018-11-05 03:39:29

标签: r sequence fasta

我下载了276个核苷酸长度的876个DNA序列,并根据信息进行了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 :(得分:0)

使用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]