我正在嘗試與一些完全不熟悉 R 的同事分享一些 R 代碼。為了避免他們試圖理解 R 并運行腳本,我創建了一個批處理檔案來運行該檔案而無需他們做任何事情,只需雙擊“.bat”檔案。
我試過了,效果很好。但是后來我在我的 Rscript 中添加了幾行以確保安裝了所需的庫,如果沒有安裝它們。那是我的批處理檔案停止作業的時候。
我檢查了另一個 R 腳本,install.packages(package_name)我得到的結果是:批處理檔案什么都不做。
那么如何運行通過批處理檔案安裝庫的 R 腳本呢?
我的嘗試:
我非常簡單的批處理檔案:
"C:\Program Files\R\R-4.2.1\bin\R.exe" CMD BATCH "C:\Users\user\OneDrive\Documents\SomeFolder\test.R"
EXIT
還有我的“test.R”腳本:
list.of.packages <- c("lubridate","tidyverse","Z10")
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
我也試過install.packages(new.packages,repos="https://cloud.r-project.org"),但它也不起作用。
注意:我知道我的代碼有效,因為如果我在 R 中運行它,它就可以完成這項作業。
uj5u.com熱心網友回復:
不知道為什么這不起作用,
install.packages(new.packages,repos="https://cloud.r-project.org")
但是您的錯誤訊息(在評論中)
Installing package into 'C:/Users/user/AppData/Local/R/win-library/4.2' (as 'lib' is unspecified)
Error in contrib.url(repos, "source") :
trying to use CRAN without setting a mirror Calls: install.packages -> contrib.url
Aborted execution
表示它沒有看到repos。(我懷疑你有另一個錯誤install.packages(..., repos=),因為你沒有查看.Rout檔案,你沒有看到那個錯誤。但我不確定。)
如果install.packages(..., repos=)不起作用,您可以隨時使用
options(repos = "https://cloud.r-project.org")
在你的批處理檔案中,它應該可以作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507890.html
上一篇:在GO中遞回檢索ID切片
