[R] Automating object creation

Zachary Patterson zak.patterson at gmail.com
Tue Apr 14 20:52:30 CEST 2009


Wow! I wasn't expecting such quick and helpful responses. I will see
which of these suggestions works best for what I am doing. Thanks very
much to all of you.

Zak

On Tue, Apr 14, 2009 at 1:58 PM, Stavros Macrakis <macrakis at alum.mit.edu> wrote:
> It is certainly possible to create x2, x4, etc. using something like
> assign( sprintf("x%d",i), ...value... ).
>
> But are you sure you need separate *variables* x2, x4, etc.?  Why not
> create a list of vectors addressible as x[2] etc.?
>
> You can do that with x <- list() (to define the data type of x as
> allowing generic objects) then x[2] <- ... value ... etc.
>
>            -s
>
> On Tue, Apr 14, 2009 at 1:32 PM, Zachary Patterson
> <zak.patterson at gmail.com> wrote:
>> I am new to R. I would like to automate the creation of a number of
>> vectors but can't seem to get the string formatting to work.
>>
>> Here's what I would like to be able to do:
>>
>> Suppose we have a vector:
>> x <- c(2,4,5)
>>
>> I would like to be able to create a set of vectors whose names are
>> associated with the values in x - e.g.
>>
>> x2 <- 0
>> x4 <- 0
>> x5 <- 0
>>
>> I have tried with a for loop and eval and sprintf, paste, etc. but end
>> up with the following error:
>>
>> Error in sprintf("%s%i", "x", 1) <- 0 :
>>  target of assignment expands to non-language object
>>
>> How can I assign a string formatted name to a vector?
>>
>> Any help appreciated,
>> Zak
>>
>> ______________________________________________
>> 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