running R from windows command prompt

2019-01-16 15:36发布

问题:

I have a R program in a txt file say "functions.txt".
I load the "functions.txt" file the R using source("function.txt") and then call functions f1(), f2() etc. which are declared and defined within "function.txt" file.
I also need to load a couple of R libraries using library() before I can use f1(), f2() etc.

My question is can I acheive all this (i.e. calling function f1() and f2()) from the windows prompt without opening the R environment ?

So essentially I want to

  1. load the R libraries I need to run f1(), f2() etc.
  2. load the function.txt file
  3. run the individual functions f1() etc.
  4. record the result

all from from the command promt of windows c:\>

I have windows version of R installed in my computers.
It would be very kind of anyone to give a detailed answer as I am not very computer savvy.

Regards

回答1:

Bart's post is correct, but this can be done simpler. If the code

f1 <- function() {
  print("A")
}

f2 <- function() {
  print("B")
}

f1()
f2()

is in a file 'myRcode.R'; then

Rscript myRcode.R

will load and execute it, including the two function calls.

Rscript.exe is in the same directory as R.exe -- which one may have to add to the $PATH.



回答2:

The following "works on my machine" (not Windows though, but it should...):

If your functions.txt looks like:

f1 <- function()
{
  print("A")
}

f2 <- function()
{
  print("B")
}

the command:

Rscript -e "source('functions.txt');f1();f2()" > out.txt

should create the file out.txt containing:

[1] "A"
[1] "B"


回答3:

Here's a command line script, based on code above:

d:\misc2\bin\Rscript.exe    d:\r_code\mycode.r

Using Windows 7, I ran it as a .bat file. Works fine. Thanks for the tip. (of course, these are just my particular subdirectories)