2011-04-19 256 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文件。工作正常。謝謝你的提示。(當然,這些只是我的特定子目錄)

相關問題