我有一份基因列表。 (1024,284,526)。我将它们的相关序列放在一个文件中(表示为ff)。我在desc中提取了名字(ff)。文件ff可以包含多次geneid。我的循环只提取第一个命中(只有1个序列)。我想提取所有与我的基因id匹配的序列(可能有多个序列)。 file ff可以包含(1024,1024,1024,284,526)。我想提取ID为1024的所有三个序列。但我的循环只提取前1024个
for(i in 1:length(geneids)){
temp<- ff[match(geneids[i],as.numeric(gsub("\\_.*","", desc)))]
subset.seq <- c(subset.seq,temp)
subset.seq<-subset.seq[!sapply(subset.seq, is.null)]
#print(subset.seq)
temp1 <- names(temp)
temp2 <-c(sapply(temp, function(x) x))
s2 <- c(s2,temp1)
s1 <- c(s1,temp2)
i <- i + 1}
答案 0 :(得分:0)
只需删除匹配,我就能解决问题。匹配只获得第一个匹配。
for(i in 1:length(geneids)){
temp <- c(temp,ff[geneids[i] == as.numeric(gsub("\\_.*","", desc))])
}