Re: [R] for loop with global variables

From: Petr PIKAL <petr.pikal_at_precheza.cz>
Date: Thu, 28 Apr 2011 17:17:48 +0200

Hi

r-help-bounces_at_r-project.org napsal dne 28.04.2011 16:59:26:

> ivan <i.petzev@gmail.com>
> Odeslal: r-help-bounces_at_r-project.org
>
> 28.04.2011 16:59
>
> Komu
>
> jim holtman <jholtman_at_gmail.com>
>
> Kopie
>
> r-help_at_r-project.org
>
> Předmět
>
> Re: [R] for loop with global variables
>
> Hi,
>
> thank you for the response. What I actually want to do is pick
automatically
> the results of the various outputs (which I have already defined as
> variables, e.g. output.1,output.2,etc) and insert them into a table. The
> list variable would be redundant since in order to create the data frame

I
> would rather type data.frame(results=rbind(output.1,output.2,etc.)). If
I
> had 100 outputs, this would be much work. I rather meant something like
> for(i in 1:100) {x=data.frame(results=rbind(output.[[i]]))}, which does
not
> work though. It says that object "output." cannot be found.
>
> Kind Regards

That is the problem. If you used list in the first time you could save yourself much problems. BTW - data frame is also a list with some special formating.

To extend my example

for(i in 1:3) {
lll[[i]] <- sample(letters,3)
names(lll)[i] <- LETTERS[i]
}

lll
$A
[1] "x" "t" "h"
$B
[1] "c" "m" "w"
$C
[1] "n" "s" "e"

 as.data.frame(lll)
  A B C
1 x c n
2 t m s
3 h w e

Regards
Petr

>
>
>
> On Thu, Apr 28, 2011 at 4:31 PM, jim holtman <jholtman@gmail.com> wrote:
>
> > Yes you can, but there is not enough explaination as to what you
> > really want to do. I would suggest that you look at using a 'list'
> > instead of individual objects:
> >
> > myList <- list(output.1 = rbind('a','b'), output.2 = rbind('c','d'),

...)
> >
> > Then you can use 'lapply' to operation on the elements.
> >
> > On Thu, Apr 28, 2011 at 10:16 AM, ivan <i.petzev_at_gmail.com> wrote:
> > > Hi,
> > >
> > > is there a possibility to use global variables in a for loop. More
> > > specifically, I want to do the following:
> > >
> > > output.1<-rbind("a","b")
> > > output.2<-rbind("c","d")
> > > output.3<-rbind("e","f")
> > > .
> > > .
> > > .
> > > output.n<-rbind(...,...)
> > >
> > > next I want to create a data frame with two columns:
> > >
> > > Outputs
> > > Values output.1 "a","b" output.2 "c","d" output.3 "e","f" .
> > > .
> > > output.n …,…
> > > My problem is that I do not how to define a loop over global
variables.
> > > Anybody an idea?
> > >
> > > Thanks.
> > >
> > > [[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.
> > >
> > >
> >
> >
> >
> > --
> > Jim Holtman
> > Data Munger Guru
> >
> > What is the problem that you are trying to solve?
> >
>
> [[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.



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. Received on Thu 28 Apr 2011 - 15:21:42 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 28 Apr 2011 - 16:10:33 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive