[英]How to “source” (not run line by line) an R script from the Windows command line
我正在創建一個 R 腳本myscript.R
它通過XLConnect
ZEFE907A8DZE604A67 操作 excel 文件關鍵是它引用了幾個外部文件:excel 文件本身和另一個 R 文件(函數庫),所以我需要在腳本的位置設置一個工作目錄(以便外部文件的相對路徑正常工作)。
我在我的腳本中使用以下內容
new_wd <- dirname(sys.frame(1)$ofile)
setwd(new_wd)
當我從 RStudio 獲取腳本時,它就完成了工作。 問題是該腳本是由非程序員、非 Rstudio 用戶使用的,所以我創建了 .bat 文件(我想把它變成一個 .exe 文件)
"C:\Program Files\R\R-4.0.3\bin\Rscript.exe" "C:\my\path\to\myscript.R"
它逐行執行腳本,但sys.frame(1)
僅在采購時有效。
我該如何解決?
謝謝
我找到了一個解決方案,它可以正常工作。 從CMD
命令行或.bat
文件中,可以將參數-e
添加到命令中,以便您可以使用 R 語言。
absolute\path\to\Rscript.exe -e "source('"relative\path\to\myscript.R"')"
它對我有用。 此外,正如 Compo 評論的那樣,我認為不需要.exe
文件,因為.bat
可以完成這項工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.