[R] Linux command
MSchwartz at mn.rr.com
Tue Dec 20 01:43:28 CET 2005
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
$ echo "mean(c(1,2))" | R --slave --vanilla
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
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
More information about the R-help