У меня есть список генов. (1024, 284, 526). У меня есть соответствующие последовательности в файле (представленном как ff). Я извлек имена (ff) в desc. файл ff может содержать гену несколько раз. Моя петля извлекает только первый хит (только 1 последовательность). Я хочу извлечь все последовательности, соответствующие моему идентификатору гена (может быть более одной последовательности). файл ff может содержать (1024, 1024, 1024, 284, 526). Я хочу, чтобы извлечь все три последовательности с идентификатором 1024. Но моя петля извлекает только первую 1024Извлечение всех совпадений из столбца в R
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}
Это делает практически не имеет смысла вообще, как кто-то не сидит перед вашими данными. Я даже не могу понять, что здесь происходит. Попробуйте уменьшить свой вопрос до простого, минимального и воспроизводимого примера с кодом и попыткой решения. См. [Здесь] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). – thelatemail
Сброс индекса 'i' не требуется. Вы должны описать, что вы делаете, и по крайней мере предложить 'str()' вывод из 'geneids' и' ff'. Еще лучше будет 'dput (head (ff))' и 'dput (head (genids))'. –
Я отредактировал свой вопрос. Надеюсь, теперь это имеет смысл. Извините, что не объяснил это правильно – user2498657