[R] using variable from for loop in naming new variables

Joshua Wiley jwiley.psych at gmail.com
Fri Sep 17 16:53:15 CEST 2010


On Fri, Sep 17, 2010 at 4:46 AM, Ivan Calandra
<ivan.calandra at uni-hamburg.de> wrote:
>  Hi Jim,
>
> First, I think it's better if you reply to the list, other users might
> be interested and have better answers.
>
> Second, as other replies showed you, using a list is actually way easier
> than creating new objects every time. Check especially the reply from
> Joshua Wiley, which gives you great examples and guidance.
>
> Last, regarding rm(list=ls()), what's the point of creating new objects
> in your loop if you remove them right after?! Maybe you intend to do
> stuff on them first. Anyway, I don't use Emacs so not sure why you do it
> that way. Just my limited opinion.
>
> HTH,
> Ivan
>
> Le 9/17/2010 12:35, Maas James Dr (MED) a écrit :
>>
>> Hi Ivan,
>>
>> Thanks for suggestions, was just hoping to do it all in one step,
>> creating a list and then filling it all seems rather complicated ...
>> will look up *apply.

I'd be happy to try to help you simplify things, but to offer much
advice we would probably need to know more about your end goal.  At
least in the simple example you gave, the "one step" version is:
as.list(3 + 1:4)
but I am guessing you are not actually interested in that ;-)

>>
>> As for removing objects, I run R interactively from within Emacs (ESS)
>> and stuff hangs around for successive evaluations, not sure where it
>> came from so I clean it out every time ... is there a better way?

That will be because of the .Rhistory file I would think.  My
suggestion would be to clean it out once and save (so that its empty),
and from then on whenever you exit just use q("no") or just type q()
and R should ask you whether you want to save the workspace image and
you can hit "n".

The only way I remember how to setup Emacs to not save by default is
to start R using "C-u M-x R" and then passing the command line
argument "--no-save", but honestly that is so lengthy it would just be
easier to clean it out each time.  I know there's an easier way but I
never remember it.

Josh

>>
>> Thanks
>>
>> Jim
>>
>> Message: 65
>>
>> Date: Thu, 16 Sep 2010 18:03:29 +0200
>>
>> From: Ivan Calandra <ivan.calandra at uni-hamburg.de>
>>
>> To: r-help at r-project.org
>>
>> Subject: Re: [R] using variable from for loop in naming new variables
>>
>> Message-ID: <4C923FD1.8000503 at uni-hamburg.de>
>>
>> Content-Type: text/plain
>>
>>   Hi!
>>
>> assign() should do the job.
>>
>> But using a list, and filling each element iteratively (with a for loop
>>
>> or with *apply() ) might be better, up to you.
>>
>> Btw, why do you remove your objects?
>>
>> HTH,
>>
>> Ivan
>>
>> Le 9/16/2010 17:44, Maas James Dr (MED) a ?crit :
>>
>> > Simple one here ... but can't get it to work ...
>>
>> >
>>
>> > for (i in 1:4){
>>
>> >      paste("stuff",[i]),sep="")<- 3 + i
>>
>> > }
>>
>> >
>>
>> > ls()
>>
>> > rm(list=ls())
>>
>> >
>>
>> >
>>
>> >
>>
>> > I just want it to create 4 new variables called stuff1, stuff2,
>> stuff3, stuff4 with the corresponding assignments.  I realise that
>> there are more elegant functions but this is just a model of a bigger
>> situation.
>>
>> >
>>
>> > Thanks
>>
>> >
>>
>> > Jim
>>
>> >
>>
>> ===============================
>>
>> Dr. Jim Maas
>>
>> Research Associate in Network Meta-Analysis
>>
>> School of Medicine, Health Policy and Practice
>>
>> CD Annex, Room 1.04
>>
>> University of East Anglia
>>
>> Norwich, UK
>>
>> NR4 7TJ
>>
>> +44 (0) 1603 591412
>>
>
> --
> Ivan CALANDRA
> PhD Student
> University of Hamburg
> Biozentrum Grindel und Zoologisches Museum
> Abt. Säugetiere
> Martin-Luther-King-Platz 3
> D-20146 Hamburg, GERMANY
> +49(0)40 42838 6231
> ivan.calandra at uni-hamburg.de
>
> **********
> http://www.for771.uni-bonn.de
> http://webapp5.rrz.uni-hamburg.de/mammals/eng/mitarbeiter.php
>
>
>        [[alternative HTML version deleted]]
>
>
> ______________________________________________
> 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.
>
>



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/



More information about the R-help mailing list