Dear Johannes, Try this:
sequences <- c("M","G","L","W","I","S","F","G","T","P","P","S","Y","T", "Y","L","L","I","M","N","H","K","L","L","L","I","N","N","N","N","L","T","E","V", "H","T","Y","F","N","I","N","I","N","I","D","K","M","Y","I","H","*") indexes <- matrix(c(1,22,22,46,46,51,1,46,22,51,1,51),ncol=2,byrow=TRUE) apply(indexes,1,function(x){ ind<- x[1]:x[2] sequences[ind] } ) HTH, Jorge On Fri, Jan 16, 2009 at 8:06 AM, Johannes Graumann <johannes_graum...@web.de > wrote: > Hello, > > I have a list of character vectors like this: > > sequences <- list( > > > c("M","G","L","W","I","S","F","G","T","P","P","S","Y","T","Y","L","L","I","M", > > "N","H","K","L","L","L","I","N","N","N","N","L","T","E","V","H","T","Y","F", > "N","I","N","I","N","I","D","K","M","Y","I","H","*") > ) > > and another list of subset ranges like this: > > indexes <- list( > list( > c(1,22),c(22,46),c(46, 51),c(1,46),c(22,51),c(1,51) > ) > ) > > What I now want to do is to subset each entry in "sequences" > (sequences[[1]]) with all ranges in the corresponding low level list in > "indexes" (indexes[[1]]). Here is what I came up with. > > fragments <- list() > for(iN in seq(length(sequences))){ > cat(paste(iN,"\n")) > tmpFragments <- sapply( > indexes[[iN]], > function(x){ > sequences[[iN]][seq.int(x[1],x[2])] > } > ) > fragments[[iN]] <- tmpFragments > } > > This works fine, but "sequences" contains thousands of entries and the > corresponding "indexes" are sometimes hundreds of ranges long, so this > whole > process is EXTREMELY inefficient. > > Does somebody out there take the challenge and show me a way on how to > speed > this up? > > Thanks for any hints, > > Joh > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.