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
>
>