Tobias Muhlhofer <t.muhlhofer at lse.ac.uk> writes:
I am trying to define a large number of variables through a loop construct.
I have my loop variable i being cycled through 1:100 and I would like
the variables produced by this to be called
vi (i.e. v1 v2 v3 etc)
so, for example I'm going:
for(i in 1:100) {
<blank> <- a[i:N] # or whatever else you want to put on the right side
}
where N is previously defined.
What goes in for <blank>?
...
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
... Did you? Not to put too fine a point on it, but this particular question spurred a lengthy thread over the weekend about how polite one should be (or not) to people who obviously haven't read the FAQ... This is Question 7.21, to be precise. Short answer: use assign(paste(...)) if you must, but you're usually better off constructing a list, for instance like this:
a <- 1:5 ; l <- lapply(1:5,function(i) a[i:5]) l
[[1]] [1] 1 2 3 4 5 [[2]] [1] 2 3 4 5 [[3]] [1] 3 4 5 [[4]] [1] 4 5 [[5]] [1] 5
O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907