2013-09-24 101 views
1

我有.m文件,使用它我想運行一個R腳本。我怎樣才能做到這一點。如何從Matlab運行R腳本

matlab文件

caller.m 

%some matlab code 

% need to call a R script 

%some matlab code 

[R腳本

script.R 

some R code 

我有在同一文件夾這兩個文件。

如何從caller.m運行script.R?


Drew Steen的答案通常是真實的,因爲我在網上的大多數地方發現了這一點。 但對我工作,我在下面的描述:

步驟:

  1. 追加 「C:\ Program Files文件\ r \ R-2.15.3 \ BIN \ 64」 到 「路徑」 變量。 這個link提供了在windows 7 os中設置路徑的過程。 請注意,bin \ x64而不是bin,bin並沒有爲我工作。

  2. 重新啓動Matlab。

  3. 使用exec = system('Rscript.exe script.R')其中當前script.R位於matlab的當前目錄中。

回答

2

您可以使用MATLAB中的system函數執行shell命令。既然你可以從批處理文件運行R,

executed = system('R CMD BATCH path/script.R') 

應該工作。請注意,path將需要從您的R腳本正確的相對路徑,無論您在MATLAB中的任何活動目錄。如果系統命令成功執行(與R腳本執行成功不同),則executed將評估爲0。

+0

它提供了一個錯誤「'R'不被識別爲內部或外部命令, 可操作的程序或批處理文件。」 –

+0

@AshashdeepSaluja:R也必須在您的路徑中(或明確添加路徑),即您應該能夠從命令行運行R. –

+0

...因此,診斷問題的第一步是打開終端窗口,cd到您的MATLAB工作目錄,嘗試運行'R CMD BATCH path/script.R'。一旦運行,上面的解決方案應該爲你工作。 –