查看原文
教育新闻

加载包顺道把包给安装了

Y叔叔 YuLabSMU 2023-10-03

写个教程,要可重复性,于是你就先写安装软件,你去渲染这个R Markdown文件的时候,又觉得安装软件的代码行碍事,又去写个注释行:啦,第一次你可能需要运行这几行先安装一下软件。blablablabla....

心累,我就只有一句语句去加载包,在加载的过程中,发现包是没安装的,就先安装了,安装完再加载。然后这个函数还会先去检测一下BiocManager是否有安装,如果有,就使用它来安装包(因为这样就CRAN和Bioconductor包通杀了),而且会询问你是否安装,先是了才安装,不会一股脑全自动干了,也不知道是在干啥。

真的会省心不少。也是yulab.utils包里的函数。

加载包的时候,包名不加引号也是支持的。

f = function(pkg) {
  x = installed.packages()
  pkg %in% rownames(x)
}

你要查找一下R包是否安装了,是不是使用了上面的f函数这种方式,先看看你都安装了哪些包,再看看要检查的包是不是在里面。yulab.utils包里提供的is.installed函数,快了不少呢,3-4倍的提速。这个函数就在pload函数中用于检查BiocManager包是否已经安装。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存