Well, what you really want to do is convert the list to a matrix, and it can be done directly and considerably faster than with the (implicit) looping of sapply:
f1 <- function(l)sapply(l,"[",1) f2 <- function(l)matrix(unlist(l),nr=2) l <- strsplit(paste(sample(LETTERS,1e6,rep=TRUE),sample(1:10,1e6,rep=TRUE),sep="+"),"+",fix=TRUE) ## Then you get these results: > system.time(x1 <- f1(l)) user system elapsed 1.92 0.01 1.95 > system.time(x2 <- f2(l)) user system elapsed 0.06 0.02 0.08 > system.time(x2 <- f2(l)[1,]) user system elapsed 0.1 0.0 0.1 > identical(x1,x2) [1] TRUE Cheers, Bert On Thu, Apr 25, 2013 at 3:32 AM, Ted Harding <ted.hard...@wlandres.net> wrote: > Thanks, Jorge, that seems to work beautifully! > (Now to try to understand why ... but that's for later). > Ted. > > On 25-Apr-2013 10:21:29 Jorge I Velez wrote: >> Dear Dr. Harding, >> >> Try >> >> sapply(L, "[", 1) >> sapply(L, "[", 2) >> >> HTH, >> Jorge.- >> >> >> >> On Thu, Apr 25, 2013 at 8:16 PM, Ted Harding <ted.hard...@wlandres.net>wrote: >> >>> Greetings! >>> For some reason I am not managing to work out how to do this >>> (in principle) simple task! >>> >>> As a result of applying strsplit() to a vector of character strings, >>> I have a long list L (N elements), where each element is a vector >>> of two character strings, like: >>> >>> L[1] = c("A1","B1") >>> L[2] = c("A2","B2") >>> L[3] = c("A3","B3") >>> [etc.] >>> >>> >From L, I wish to obtain (as directly as possible, e.g. avoiding >>> a loop) two vectors each of length N where one contains the strings >>> that are first in the pair, and the other contains the strings >>> which are second, i.e. from L (as above) I would want to extract: >>> >>> V1 = c("A1","A2","A3",...) >>> V2 = c("B1","B2","B3",...) >>> >>> Suggestions? >>> >>> With thanks, >>> Ted. >>> >>> ------------------------------------------------- >>> E-Mail: (Ted Harding) <ted.hard...@wlandres.net> >>> Date: 25-Apr-2013 Time: 11:16:46 >>> This message was sent by XFMail >>> >>> ______________________________________________ >>> 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. >>> > > ------------------------------------------------- > E-Mail: (Ted Harding) <ted.hard...@wlandres.net> > Date: 25-Apr-2013 Time: 11:31:57 > This message was sent by XFMail > > ______________________________________________ > 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. -- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ 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.