[R] a simple list question
arun
smartpink111 at yahoo.com
Wed Nov 7 14:48:29 CET 2012
HI,
If you want to combine vectors "x" and "y" into a list,
may be this also helps:
x.1<-1:3
x.2<-1:4
x.3<-5:10
y.1<-5:6
y.2<-8:10
ls()
# [1] "a" "a1" "L" "mat1" "n" "vecs" "x.1" "x.2" "x.3" "y.1"
#[11] "y.2"
lapply(strsplit(ls()[grep("x|y",ls())],""),function(x) get(paste(x,collapse="")))
#[[1]]
#[1] 1 2 3
#
#[[2]]
#[1] 1 2 3 4
#
#[[3]]
#[1] 5 6 7 8 9 10
#
#[[4]]
#[1] 5 6
#
#[[5]]
#[1] 8 9 10
A.K.
----- Original Message -----
From: Rui Barradas <ruipbarradas at sapo.pt>
To: Erin Hodgess <erinm.hodgess at gmail.com>
Cc: R help <r-help at stat.math.ethz.ch>
Sent: Wednesday, November 7, 2012 6:44 AM
Subject: Re: [R] a simple list question
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
>
>
______________________________________________
R-help at 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.
More information about the R-help
mailing list