我在R for lists中做序列比对/匹配时遇到了问题,让我解释一下,我的数据是点击流数据,序列被划分为n元语法,序列看起来像
1. ABDCGHEI... NaNa
2. ACSNa.... NaNa
等等,Na代表“不可用”,需要匹配序列长度。现在我把所有这些序列以一种粗鲁的方式放入一个列表,就像
dativec = as.vector(dataseq2)
for(i in 1:length(dativec)) {
prova2[[i]] = dativec[i]
}
BigramTokenizer <- function(x) {
NGramTokenizer(x, Weka_control(min = 2, max = 2))
}
prova3 = lapply(prova2, BigramTokenizer)
并将它们分成n元文法,例如二元文法看起来像这样:
[[1]] "A B" "B D" "D C".... "Na Na"
[[2]] "A C" "C S" .... "Na Na"
现在的挑战是:我如何匹配列表中每个元素的二元模型,以及列表中其他元素的二元模型?我尝试使用Biostrings
包,但是pairwiseAlignment
函数只返回列表中每个元素的第一个二元模型的分数,而我只需要知道它们是否相同,我需要所有的比较,而不仅仅是第一个元素。想要的结果是没有位置信息的相等子元的百分比。我只关心身份。我也尝试使用setdiff
函数,但显然它没有。I don“我不能按我想要的方式工作。
编辑以获得更多清晰度
1条答案
按热度按时间bmp9r5qi1#
您可以使用
outer
: