[英]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.