Greetings,

I'm trying to debug a simple two-line plot routine in R called test.R:

   cor(swiss)
   plot(swiss$Catholic, swiss$Examination)

These commands work fine when typed into R. They also work fine when I invoke this routine by the following line into my terminal:

R --slave < /Library/WebServer/Documents/gsa/test.R

My ultimate goal is to send data to this R routine via a web interface mediated by Ruby. However, I've run into a wall there -- the commands that work fine when typed directly into the command line, fail when sent via Ruby.

1. I start with a simple HTML page that calls a simple two-line Ruby CGI program (gsa.cgi):

   #!/usr/bin/ruby
   system("R --slave < /Library/WebServer/Documents/gsa/test.R")

2. However, when I hit the submit button on the HTML page, I get the following error messages on my Apache 2 server log:

[Tue Aug 11 01:22:41 2009] [error] [client ::1] Error in function (file = ifelse(onefile, "Rplots.pdf", "Rplot%03d.pdf"), : [Tue Aug 11 01:22:41 2009] [error] [client ::1] unable to start device pdf [Tue Aug 11 01:22:41 2009] [error] [client ::1] Calls: plot ... plot.default -> plot.new -> <Anonymous> -> .External [Tue Aug 11 01:22:41 2009] [error] [client ::1] In addition: Warning message: [Tue Aug 11 01:22:41 2009] [error] [client ::1] In function (file = ifelse(onefile, "Rplots.pdf", "Rplot%03d.pdf"), : [Tue Aug 11 01:22:41 2009] [error] [client ::1] cannot open 'pdf' file argument 'Rplots.pdf'
[Tue Aug 11 01:22:41 2009] [error] [client ::1] Execution halted

3. If I comment out the line in test.R with the plot command, all works fine.

FWIW, I'm running this on a MacBook Pro OS X 10.5.8 with Ruby 1.8.7

Any assistance would be gratefully accepted.

Regards,

Michael L. Richardson, M.D.
University of Washington Radiology

______________________________________________
R-help@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.

Reply via email to