2017-08-09 105 views
1

我想從命令行(實際上是從Makefile中運行)執行R命令。如果相關,則該命令是roxygen2::roxygenise()。我不想創建一個新文件並將其作爲腳本運行 - 這隻會使我的目錄變得混亂。 在python中,這很簡單 - 你寫python -c "import antigravity"。 我使用Makefile來構建,安裝並測試我正在處理的(Rcpp)包。運行R命令時不輸入R,也不輸入腳本

+2

'R -e「roxygen2 :: roxygenise()」'將評估提供的表達式。如果啓動消息讓你煩惱,'--slave'可以抑制表達式的輸出。 [littler](http://dirk.eddelbuettel.com/code/littler.html)是另一種可能性。 – alistaire

+0

@alistaire真棒,謝謝! –

回答

1

這通常是用'shebang腳本'來完成的。

從歷史上看,littler是第一個,大約十年前。它仍然被廣泛使用,並且包含一些幫助程序腳本,例如roxy.r,它只是做你想做的事:運行roxygen2::roxygenize()。我經常用這個。

接下來,Rscript開始隨R一起發貨。它類似於littler,但是在R是正的情況下自動可用。在負面方面,它開始較慢,並且無法加載methods包,這是一些錯誤報告和SO問題的來源。

更近些時候,R本身增加了在-e ...開關後面運行表達式的功能。

所以你有很多選擇。您還可以學習大量的src/Makevars文件,其中許多文件使用Rscript