我正在研究一個需要運行一些R代碼以進行一些數據分析的項目。該項目主要是在JavaScript中,我需要一種方法來從JS運行R代碼。我的研究尚未找到任何好方法。有沒有辦法做到這一點?有沒有辦法從JavaScript運行R代碼?
另外,我有沒有經驗與R(另一人提供的R代碼)。
我正在研究一個需要運行一些R代碼以進行一些數據分析的項目。該項目主要是在JavaScript中,我需要一種方法來從JS運行R代碼。我的研究尚未找到任何好方法。有沒有辦法做到這一點?有沒有辦法從JavaScript運行R代碼?
另外,我有沒有經驗與R(另一人提供的R代碼)。
R-node怎麼樣?
我認爲另一個備選是使用node.js的作爲服務器(http://nodejs.org/),並從內部調用R作爲一個子進程,搜索Node.js的API文檔的細節。
也期待在此確認:Is it possible to execute an external program from within node.js?
注:節點可以運行任何JS腳本(S)你可能有,但不一定必須是具體的節點。
您可以添加R節點的解釋嗎? –
當然,我沒有親自嘗試過,但是這是直接從gitourious引用的,你只需點擊那個小小的更多...鏈接:) //// R-Node是一個Web前端統計分析軟件包R. 使用此前端,您可以從任何Web瀏覽器連接到在遠程(或本地)服務器上運行的R實例,並與其交互,發送命令並接收響應。 特別是,圖形命令(如plot()和hist())將在瀏覽器中執行,並將圖形繪製爲SVG圖像。 – 2013-07-16 00:17:48
總是有更好的信息在這裏,甚至更好的答案本身。網頁有移動或正在編輯的惡習。看起來像一個有用的包,但希望它會堅持下去。 –
這絕不是最好的方法,但我可以爲我自己的Javascript + R項目(silly.r是一個R腳本,位於「r」目錄中)執行以下操作。
app.get('/sfunction', function (req, res) {
exec('Rscript r/silly.r this is a test', function(error, stdout, stderr) {
if (error) {
console.log(error);
res.send(error);
}
else if (stderr) {
console.log(stderr);
res.send(stderr);
}
else if (stdout) {
console.log("RAN SUCCESSFULLY");
res.sendfile("savedoutput/test.json");
}
});
});
的代碼是從線167-182從這裏:我基本上是從我的Express服務器運行將R代碼作爲終端命令https://github.com/ngopal/VisualEncodingEngine/blob/master/jsserver/app.js
你使用IE或其他瀏覽器? Internet Explorer確實有一個機制來從JavaScript腳本Windows,但你將不得不調整你的安全設置....然後使用'Rscript.exe'你可以運行'yourScript.R'像這樣'var shell = new ActiveXObject(' WScript.Shell'); shell .Run(「Rscript yourScript.R arg1」);' – agstudy
現在,我正在使用Chrome進行開發。我認爲我不會輕易轉換。 –
這是在瀏覽器上的Javascript * *對不對?這是一個網絡客戶端?這很重要,因爲現在JS不只是一種Web客戶端語言,並且可以作爲機器上的完全特權語言(請參閱node.js)以及Web瀏覽器中的沙盒語言來運行。 – Spacedman