Re: [R] sink() within a loop

From: Nordlund, Dan (DSHS/RDA) <NordlDJ_at_dshs.wa.gov>
Date: Wed, 05 Nov 2008 10:48:26 -0800

> -----Original Message-----
> From: r-help-bounces_at_r-project.org
> [mailto:r-help-bounces_at_r-project.org] On Behalf Of jgarcia_at_ija.csic.es
> Sent: Wednesday, November 05, 2008 10:19 AM
> To: Uwe Ligges
> Cc: r-help_at_r-project.org
> Subject: Re: [R] sink() within a loop
>
> Well, I'll put a foo example of my problem:
>
> I'got a list:
>
> >a <- list()
> >a$sublist.1 <- list()
> >a$sublist.1$subsublist.1 <- list()
>
> this code works:
>
> >zz <- file("foo.txt","w")
> >sink(zz)
> >a
> >sink()
> >close(zz)
>
> and generates a correct "foo.txt" file containing the
> structure of the list
>
> but this code doesn't:
>
> >for(i in 1){
> zz <- file("foo.txt","w")
> sink(zz)
> a
> sink()
> close(zz)
> }
>
> as the resulting "foo.txt" file is empty
>
> I don't understand why.
>
> Javier
> ---------------------
> >
> >
> > jgarcia_at_ija.csic.es wrote:
> >> Hello;
> >> It seems to me that this could even by a FAQ, but I cannot find an
> >> answer:
> >>
> >> Why a piece of code that uses sink() does not sinks
> anything if it is
> >> executed within a for loop?
> >
> > Without sink(), does it print anything in the console? If not: use
> > print() in order to print it (i.e. sink it to another connection).
> >
> > Uwe Ligges
> >
> >
> >>
> >>
> >> Thanks,
> >> Javier
> >>

Javier,

Uwe gave you the answer. You need to explicitly print your variable as otherwise it will not be output to the console (and available to be be sunk). The same would be true if you were doing this inside a function. For example:

for(i in 1){
  zz <- file("foo.txt","w")
  sink(zz)
  print(a)
  sink()
  close(zz)
}

One other comment. If you are actually going to do this inside a loop with multiple iterations, you will need to either change the file name on each iteration, or set the parameter append=TRUE, or you will overwrite data from the previous iterations.

Hope this is helpful,

Dan

Daniel J. Nordlund
Washington State Department of Social and Health Services Planning, Performance, and Accountability Research and Data Analysis Division
Olympia, WA 98504-5204    



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 Wed 05 Nov 2008 - 18:53:46 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 Wed 05 Nov 2008 - 19:30:44 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