[R] Runing R in a bash script

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Apr 18 09:09:09 CEST 2007


On Wed, 18 Apr 2007, Ulrik Stervbo wrote:

> As I har problems installing the Cairo package, I went for Henriks solution
> - and it works almost perfect. I would like to have been able to generate
> transparent png.

You cannot do transparency via postscript.

I would suggest using pdf() and converting the output of that, which often 
works even better (and does have full transparency support).

> Thanks for the help
> Ulrik
>
> On 18/04/07, Henrik Bengtsson <hb at stat.berkeley.edu> wrote:
>>
>> Or see png2() in R.utils, which imitates png() but uses bitmap(),
>> which in turn uses postscript-to-png via ghostscript.  BTW, personally
>> I think PNGs generated via bitmap() look way better than the ones
>> generated via png().

As there are two separate versions of png() for different OSes, comments 
like that are very system-dependent.  Other postings suggest this is 
Windows, and if png() is giving poor results there it suggests a problem 
with the way Windows' GDI is configured (which depends on the graphics 
card).

And of course, PNGs don't 'look' at all: they are rendered by some other 
tool, and quite often the perceived problem with R graphical output is in 
fact with the rendering tool.

>> /Henrik
>>
>> On 4/17/07, Jeffrey Horner <jeff.horner at vanderbilt.edu> wrote:
>>> Ulrik Stervbo wrote:
>>> > Hello!
>>> >
>>> > I am having issues trying to plot to a ong (or jpg)  when the R-code
>> in a
>>> > bash script is executed from cron.
>>> >
>>> > I can generate a pdf file, but when I try to write to a png, the file
>> is
>>> > created, but nothing is written. If I execute the bash script from my
>>> > console, everything works file. Any ideas?
>>> >
>>> > In my cron I have SHELL=/bin/bash - otherwise /bin/shell is used and
>> the
>>> > folowing enery, so example is executed every minute
>>> > * * * * * [path]/example.sh
>>> >
>>> > I am running
>>> > R version 2.4.1 (2006-12-18)
>>> >
>>> > Here's a minimal example - two files one R-script ('example.r') and
>> one
>>> > bash-script ('example.sh')
>>> >
>>> > example.r
>>> > # Example R-script
>>> > x <- c(1:10)
>>> > y <- x^2
>>> > png(file="example2.png")
>>> > #pdf(file="example2.pdf")
>>> > plot(x,y)
>>> > graphics.off()
>>> >
>>> > example.sh
>>> > #/bin/bash
>>> > #
>>> > # Hello world is written to exhotext every time cron executes this
>> script
>>> > echo "Hello world" > echotext
>>> > # This works, but not when executed from cron
>>> > n=`R --save < example.r`
>>> > # using exec as in `exec R --save < example.r` dosent work with cron
>>> either
>>> > # This also works, but nothing is written to the png when executed
>>> from cron
>>> > R --save <<RSCRIPT
>>> > x <- c(1:10)
>>> > y <- x^2
>>> > png(file="example2.png")
>>> > #pdf(file="example2.pdf")
>>> > plot(x,y)
>>> > graphics.off()
>>> > #dev.off() dosent work at all when executed from cron
>>> > RSCRIPT
>>>
>>> The png() device requires an X server for the image rendering. You might
>>> be able to get away with exporting the DISPLAY environment variable
>>>
>>> export DISPLAY=:0.0 # try and connect to X server on display 0.0
>>>
>>> within your script, but it will only work if the script is executed by
>>> the same user as is running the X server, *and* the X server is running
>>> at the time the script is executed.
>>>
>>> There are a handful of packages that will create a png without the
>>> presence of an X server, and I'm partial to Cairo (since I've done some
>>> work on it). You can install the latest version like this:
>>>
>>> install.packages("Cairo",,'http://rforge.net/',type='source')
>>>
>>> Cairo can also outputs nice pdf's with embedded fonts... useful if you
>>> want to embed high-quality OpenType or TrueType fonts.
>>>
>>> Best,
>>>
>>> Jeff
>>> --
>>> http://biostat.mc.vanderbilt.edu/JeffreyHorner
>>>
>>> ______________________________________________
>>> R-help at stat.math.ethz.ch 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.
>>>
>>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list