a simple list question
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.