Dear R People I have a simple list question, please: I have vectors x.1, x.2,...x.n (each of different lengths) and I would like to combine them into a list. However, I'm sure that there is a better way to do this than to type in x <- list(x.1,x.2,x.3,...) Is there a better way to do this, please? I was thinking about possibly using grep? Thanks, Sincerely, Erin -- Erin Hodgess Associate Professor Department of Computer and Mathematical Sciences University of Houston - Downtown mailto: erinm.hodgess at gmail.com
On 07/11/12 18:35, Erin Hodgess wrote:> Dear R People > > I have a simple list question, please: > > I have vectors x.1, x.2,...x.n (each of different lengths) and I would > like to combine them into a list. > > However, I'm sure that there is a better way to do this than to type > in x <- list(x.1,x.2,x.3,...) > > > Is there a better way to do this, please? I was thinking about > possibly using grep?If I understand your question correctly --- always a dubious assumption --- you could do: n <- <however many vectors you have> xlist <- lapply(1:n,function(n){get(paste("x",n,sep="."))}) Does that accomplish your goal? cheers, Rolf
Hello, Try the following. x.1 <- 1:3 y.1 <- 1:4 x.2 <- 5:10 vecs <- ls()[grep("^x\\.[[:digit:]]+$", ls())] lapply(vecs, function(.x) assign(.x, get(.x))) Then you can use vecs to attribute names() to the result. Hope this helps, Rui Barradas Em 07-11-2012 05:35, Erin Hodgess escreveu:> Dear R People > > I have a simple list question, please: > > I have vectors x.1, x.2,...x.n (each of different lengths) and I would > like to combine them into a list. > > However, I'm sure that there is a better way to do this than to type > in x <- list(x.1,x.2,x.3,...) > > > Is there a better way to do this, please? I was thinking about > possibly using grep? > > Thanks, > Sincerely, > Erin > >