Re: [R] executable R scripts

2003-06-09 Thread Greg Louis
On 20030608 (Sun) at 1735:14 -0700, John Zedlewski wrote:
 Hi, I'm a newbie trying to make an R program executable on UNIX, just like one 
 would write an executable perl script by putting #!/usr/bin/perl in the 
 first line, and so on.
 
 It seems, though, that this would only work if I use the BATCH command to 
 tell R to execute the program in its first argument. This would have the 
 unfortunately side-effect of dumping all output to a file rather than stdout.
 
 Additionally, I'd want to see only the results of print statements on 
 stdout, not all off R's output, just as when you source a script with 
 echo=FALSE.

I've seen the other replies, but thought this might be of interest too:
I hacked a hashbang wrapper so you can start an R script with
  #! /bin/sh /usr/bin/setR
and then invoke it with command-line arguments, which get passed to the
script in a character vector called argv.

See http://www.bgl.nu/~glouis/setR.html if you're interested.  I think
the version displayed has a couple of ampersand-lt; that need to be
changed to  if you use 'save as' rather than cutting and pasting.

-- 
| G r e g  L o u i s  | gpg public key: finger |
|   http://www.bgl.nu/~glouis |   [EMAIL PROTECTED] |
| http://wecanstopspam.org in signatures fights junk email |

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


[R] executable R scripts

2003-06-08 Thread John Zedlewski
Hi, I'm a newbie trying to make an R program executable on UNIX, just like one 
would write an executable perl script by putting #!/usr/bin/perl in the 
first line, and so on.

It seems, though, that this would only work if I use the BATCH command to 
tell R to execute the program in its first argument. This would have the 
unfortunately side-effect of dumping all output to a file rather than stdout.

Additionally, I'd want to see only the results of print statements on 
stdout, not all off R's output, just as when you source a script with 
echo=FALSE.

This seems like it would be a pretty common problem, but I haven't found any 
explanations in the docs. Does somebody have a sample script that I could 
look at for advice? Or should I just bite the bullet and write a wrapper 
shell script?

Thanks!
--JRZ

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


Re: [R] executable R scripts

2003-06-08 Thread Jonathan Baron
On 06/08/03 17:35, John Zedlewski wrote:
Hi, I'm a newbie trying to make an R program executable on UNIX, just like one 
would write an executable perl script by putting #!/usr/bin/perl in the 
first line, and so on.

It seems, though, that this would only work if I use the BATCH command to 
tell R to execute the program in its first argument. This would have the 
unfortunately side-effect of dumping all output to a file rather than stdout.

Additionally, I'd want to see only the results of print statements on 
stdout, not all off R's output, just as when you source a script with 
echo=FALSE.

See
man R
for how to do it, although I'm not sure where it says the
following:

To get just the print output and nothing else, it helps to have
print()'s in the script itself.  Then you can use

R --slave  myfile.R  printoutput.txt

I also use R --vanilla  myfile.R
for a R file that has write.table()'s in it.  For this you do not
need to pipe the output anywhere.

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


Re: [R] executable R scripts

2003-06-08 Thread Dirk Eddelbuettel
On Sun, Jun 08, 2003 at 05:35:14PM -0700, John Zedlewski wrote:
 Hi, I'm a newbie trying to make an R program executable on UNIX, just like one 
 would write an executable perl script by putting #!/usr/bin/perl in the 
 first line, and so on.

This is not currently supported, but with some luck may be supported in a
later version of R.  

 It seems, though, that this would only work if I use the BATCH command to 
 tell R to execute the program in its first argument. This would have the 
 unfortunately side-effect of dumping all output to a file rather than stdout.

My personal favourite currently is to arrange everything (loading of
package, code, ...) in a file which I can read with source() from within R.
Then
$ echo source(\foo.R\) | R --slave
works quite well, you can redirect etc. Works on windows/cygwin too using
Rterm.exe.

 Additionally, I'd want to see only the results of print statements on 
 stdout, not all off R's output, just as when you source a script with 
 echo=FALSE.

I think the above fits that bill.

 This seems like it would be a pretty common problem, but I haven't found any 
 explanations in the docs. Does somebody have a sample script that I could 
 look at for advice? Or should I just bite the bullet and write a wrapper 
 shell script?

That's where the above leads to as well.

Dirk

-- 
Don't drink and derive. Alcohol and analysis don't mix.

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


Re: [R] executable R scripts

2003-06-08 Thread John Zedlewski
Dirk and Jonathan--
  Thanks a lot for the fast and helpful comments, guys. I ended up writing a 
wrapper script that uses the trick of echoing source(\filename\) into R 
--slave, and it works well.
  Thanks again!
--JRZ

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help