[R] Program output to file using a batch command file
Charles C. Berry
cberry at tajo.ucsd.edu
Tue Jan 1 00:13:28 CET 2008
On Mon, 31 Dec 2007, Jean-Victor Côté wrote:
>
> If I copy the following commands in my batch file to the R console, R
> creates a file named "basicStatsIBM.lis" with the program output in it:
>
> Sortie <- file(description = "basicStatsIBM.lis", open = "wt", blocking =
> TRUE,
> encoding = "UTF-8")
> sink(file = Sortie, append = FALSE, type = "output", split = FALSE)
> basicStats(ibm)
> close(Sortie)
>
> However, the same commands in a text file (named batch.txt, for instance)
> referred to from the R console by the command source("batch.txt") yields an
> empty "basicStatsIBM.lis" file.
>
> Why the discrepancy in processing?
> How to make the batch commands work as if the commands were pasted directly
> in the R console?
> A solution to this problem would save time and aggravation to many people.
As it happens, the R Development Core Team provides just such a solution
(to 'save time and aggravation to many' of us) in the form of:
1) EXCELLENT DOCUMENTATION to enable you to figure out why this
happens
2) flexible functions like source() with useful arguments like
'print.eval' and sensible defaults for them.
and
3) Useful problem solving advice in the Posting Guide.
By following the advice in the Posting Guide, you would find this help
page:
?source
and I expect see this bit:
Arguments:
.
.
.
print.eval: logical; if 'TRUE', the result of 'eval(i)' is printed
for each expression 'i'; defaults to 'echo'.
---
You might be confused by the word 'printed', which seems to refer only to
expressions that would autoprint (and not stuff like 'x <- y')
---
'Nother words use 'source("batch.txt", print.eval=TRUE)' and try the
suggestions in the Posting Guide when you hit a snag.
Chuck
> Thank you.
>
> ______________________________________________
> 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.
>
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901
More information about the R-help
mailing list