2011-04-19 179 views
17

我在txt文件中有一个R程序,说"functions.txt"
我加载"functions.txt"文件使用source("function.txt") 将R,然后调用函数f1()f2()等,其被声明和内 "function.txt"文件中定义。
我还需要使用library()加载夫妇[R库之前,我可以使用f1()f2()从Windows命令提示符运行R

我的问题是,我可以acheive这一切从窗口(即调用函数f1()f2())提示无需打开R环境?

所以基本上我想

  1. 负载我需要运行将R库f1()f2()
  2. 负荷function.txt文件
  3. 运行各个函数f1()等
  4. 记录结果

全部来自windows 01的命令提示符

我在我的电脑上安装了R的windows版本。
任何人都可以给出详细的答案,因为我不是很懂电脑的人。

问候

+3

Rscript.exe是你的朋友。 http://stackoverflow.com/questions/3412911/r-exe-rcmd-exe-rscript-exe-and-rterm-exe – 2011-04-19 17:56:11

回答

8

以下 “的作品在我的机器”(而不是Windows,虽然,但它应该...):

如果您functions.txt样子:

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

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

命令:

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

应创建文件out.txt包含:

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

非常感谢您的答案。几件事1>我在哪里可以找到Rscript?当我在电脑上试过时,我收到了信息 - 'Rscript'不被识别为内部或外部命令,可操作程序或批处理文件。还有我如何加载库? – babu 2011-04-19 18:26:01

+0

查看R的安装目录(可能位于'C:\ program files \ ...'的某处)。如果您希望能够在计算机上的任何位置运行此'Rscript'可执行文件,则应将其所在的目录添加到系统PATH变量中(请参阅:http://www.computerhope.com/issues/ch000549.htm )。 – 2011-04-19 18:41:03

21

Bart的帖子是正确的,但这可以做得更简单。如果代码为

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

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

f1() 
f2() 

位于文件'myRcode.R';然后

Rscript myRcode.R 

将加载并执行它,包括两个函数调用。

Rscript.exeR.exe在同一个目录 - 哪一个可能需要添加到$PATH

5

这里有一个命令行脚本,基于上述代码:

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

使用Windows 7,我跑了它作为一个.bat文件。工作正常。谢谢你的提示。(当然,这些只是我的特定子目录)

相关问题