# [R] about subsetting vectors/list in R

William Dunlap wdunlap at tibco.com
Fri Apr 5 03:15:11 CEST 2013

```> > Not super slick but:
> >
> > by_two <- function(x, collapse = ""){
> >    dim(x) <- c(length(x) / 2, 2)
> >    apply(x, 1, function(y) paste(y, collapse = collapse))
> > }

Does that do what you want?
> by_two(letters[1:10])
[1] "af" "bg" "ch" "di" "ej"
I thought that you wanted
[1] "ab" "cd" "ef" "gh" "ij"

In any case, I think it would be quicker to make 1 call to paste together two
vectors instead of having apply make n/2 calls to paste.  E.g.,
f_a <- function(x) {
stopifnot( length(x)%%2 == 0)
i <- seq(from=1, to=length(x), by=2)
paste(x[i], x[i+1], sep="")
}
or
f_b <- function(x) {
stopifnot( length(x)%%2 == 0)
i <- seq(from=1, to=length(x)/2)
paste(x[i], x[i+length(x)/2], sep="")
}
depending on what result you want
> f_a(letters[1:10])
[1] "ab" "cd" "ef" "gh" "ij"
> f_b(letters[1:10])
[1] "af" "bg" "ch" "di" "ej"

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of Abhishek Pratap
> Sent: Thursday, April 04, 2013 5:55 PM
> To: R. Michael Weylandt
> Cc: r-help at r-project.org
> Subject: Re: [R] about subsetting vectors/list in R
>
> On Thu, Apr 4, 2013 at 5:53 PM, R. Michael Weylandt <
> michael.weylandt at gmail.com> wrote:
>
> > On Thu, Apr 4, 2013 at 7:46 PM, Abhishek Pratap <abhishek.vit at gmail.com>
> > wrote:
> > > Hey Guys
> > >
> > > Getting spinned about a slick way to join every 2 entry in a list /
> > vector
> > > in R
> > >
> > > x=(rep(c('A','G','C','T'),1000))
> > >
> > > A G C T  A G C T etc
> > >
> > > form another list with entries as
> > > AG CT AG etc
> >
> > Not super slick but:
> >
> > by_two <- function(x, collapse = ""){
> >    dim(x) <- c(length(x) / 2, 2)
> >    apply(x, 1, function(y) paste(y, collapse = collapse))
> > }
> >
> > Cheers,
> > MW
> >
>
> Thanks.. just wondering if this will be slick for list/vectors with 100
> thousands of entries. ?
>
> -Abhi
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help