我的问题与之前发布的问题类似,但从未真正在这里得到解答:
我不喜欢用于 CRAN 镜像选择的 R tcltk 弹出窗口。当在两个包中搜索某个功能的帮助时,它们也会弹出来选择一个包。
有没有办法在不完全禁用X11的情况下禁用这些窗口?我仍然希望plot()命令正常工作,但禁用那些需要永远通过远程连接加载的小选择菜单。
例如,如果您使用 ssh,但不使用 -X,那么镜像选择只是 R 中的文本,您键入一个数字。它很快。这就是我想要的,但是为图 b 保留 X11。
有人知道如何维护图形窗口但禁用“选择”tcltk 窗口吗?
德克提供了完全避免菜单的方法,但为了回答你提出的问题,我想你想要
options(menu.graphics=FALSE)
我通过查找从
help
返回的对象类(它是 help_files_with_topic
)、扫描 utils:::print.help_files_with_topic
并找到行 来跟踪此选项
menu(txt, title = gettext("Choose one"), graphics = getOption("menu.graphics"))
只需在启动文件中设置镜像即可。我的
~/.Rprofile
中有这个,但我从未看到该提示:
## Default repo
local({r <- getOption("repos");
r["CRAN"] <- "http://cran.us.r-project.org";
options(repos=r)})
请参阅
help(Startup)
了解更多可以在此处自定义的内容,还可以参阅 这个关于自定义 ~/.Rprofile
的优秀 SO 问题。
编辑:至于您刚刚在评论中添加的附加问题,那是不同的。在这种情况下,您可以使用命名空间和
mapply
运算符显式指定 ::
。例如, base::mapply(foo, bar)
会明确地从标准库中选择一个,类似地 help(mapply, package="base")
会请求给定包中给定函数的帮助。
如果您希望完全禁用交互式时髦的东西,还可以查看 CRAN 中的 interactivity 包。
您还可以在
install.packages()
调用中指定存储库。这是在 R/4.3.0
上测试的,例如
install.packages("withr", repos = "http://cran.us.r-project.org")
将其放在
~/.Rprofile
中的新行上:
options(repos=c(CRAN="http://cran.r-project.org"))
重新启动 R 会话,CRAN 镜像弹出窗口将不会再打扰您!
注意:如果 ~/.Rprofile 不存在,您可以简单地创建它。不要忘记 . (这使其成为隐藏文件)。
您只需在终端中运行一次(它将把上面提到的行附加到您的 ~/.Rprofile 文件的底部!(这样您就不必跟踪它并手动编辑它)。重新启动您的 R 会话,这样就可以了效果,CRAN镜像弹窗就不会再出现了。
echo 'options(repos=c(CRAN="http://cran.r-project.org"))' >> ~/.Rprofile
你可以设置任何你想要的CRAN镜像,上面使用
"http://cran.r-project.org"
是因为它是常见的。