簡體   English   中英

如何在R中更改“設置CRAN鏡像”或“ chooseCRANmirror()”的默認選項?

[英]How to change default options for “Set CRAN Mirror” or “chooseCRANmirror()” in R?

對於公司環境,我希望我們的R用戶僅使用我們的本地存儲庫。 正如其他帖子所建議的那樣,我對Rprofile.site,.Rprofile和存儲庫文件進行了相應的必需更改,並且對於僅將存儲庫選項更改為本地選項而言,它工作得很好。 但是,用戶仍然可以通過從菜單中選擇“設置CRAN鏡像”或通過運行“ chooseCRANmirror()”命令來選擇CRAN鏡像,並且當用戶執行其中任何一個操作時,它將再次添加標准CRAN倉庫作為存儲庫選項。 。 我該怎么做,以使用戶看不到/獲得CRAN鏡像的默認選項,結果無法更改本地存儲庫?

編輯:正如@Dason所說,我不想阻止專家用戶更改存儲庫選項或其他選項。 我想禁用選擇鏡像只是為了確保用戶不會錯誤地訪問遠程存儲庫(並從那里下載軟件包)。

看起來像在utils / R / packages.R源代碼中,chooseCRANmirros()調用函數getCRANmirrors(all = FALSE,local.only = FALSE)並執行以下操作:

getCRANmirrors <- function(all = FALSE, local.only = FALSE)
{
    m <- NULL
    if(!local.only) {
        ## try to handle explicitly failure to connect to CRAN.
        con <- url("http://cran.r-project.org/CRAN_mirrors.csv")
        m <- try(open(con, "r"), silent = TRUE)
        if(!inherits(m, "try-error")) m <- try(read.csv(con, as.is = TRUE))
        close(con)
    }
    if(is.null(m) || inherits(m, "try-error"))
        m <- read.csv(file.path(R.home("doc"), "CRAN_mirrors.csv"),
                      as.is = TRUE)
    if(!all) m <- m[as.logical(m$OK), ]
    m
}

因此,如果local.only為FALSE,則它具有CRAN url的硬編碼值。 因此,我想我們必須將local.only設置為TRUE,然后更改本地CRAN_mirrors.csv文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM