Re: [R] Linux command

From: Marc Schwartz <>
Date: Tue 20 Dec 2005 - 11:43:28 EST

On Tue, 2005-12-20 at 02:14 +0200, Tommi Viitanen wrote:
> I wonder if it's possible to run R-functions or other commands
> automatically by some shell-script in Linux shell.
> I thought that something like
> $ R mean(c(1,2))
> $ R xy.Rdata
> would work, but I havent found the right way.

There is some documentation in 'An Introduction to R', Appendix B "Invoking R" which is available with the R installation and/or from the main R web site under Documentation. There is also help available via 'man R' from the Linux console.

If you are just passing your first line to R, you can do something like this:

$ echo "mean(c(1,2))" | R --slave --vanilla [1] 1.5

This echos the R command string and pipes it as stdin to R.

The additional arguments make the interaction with R more streamlined and are documented in the aforementioned references.

You can also pass a text file containing more complex R commands:

R --slave --vanilla < RCommandFile.txt

If I have the following in the file:

# Example from ?lm

ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
anova(lm.D9 <- lm(weight ~ group))

I can then do:

$ R --slave --vanilla < RCommandFile.txt Analysis of Variance Table

Response: weight

          Df Sum Sq Mean Sq F value Pr(>F)
group      1 0.6882  0.6882  1.4191  0.249
Residuals 18 8.7293 0.4850

And you can of course re-direct the output:

R --slave --vanilla < RCommandFile.txt > Outfile.txt

HTH, Marc Schwartz mailing list PLEASE do read the posting guide! Received on Tue Dec 20 11:49:12 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:41:40 EST