Reputation: 311
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
f1()
, f2()
etc.function.txt
fileall 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
Upvotes: 26
Views: 70523
Reputation: 1
Add the R bin directory to PATH (windows Enviromwntal variables)
Run command prompt, then you can use either the "R" command to start a new R session in cmd, or "Rscript" to run a script (file)
Upvotes: 0
Reputation: 101
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)
Upvotes: 6
Reputation: 368181
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
.
Upvotes: 24
Reputation: 170138
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"
Upvotes: 9