有时,在Stack Overflow上,有一个问题是与系统中未安装的软件包有关的,我不打算稍后再使用。

如果我使用install.packages()安装该软件包,它将被放入我的R安装库之一中,然后将占用一些存储空间,并在每次运行update.packages()时进行更新。

有没有一种方法可以只为当前R session 安装软件包?

最佳答案

您可以使用以下功能临时安装软件包:

tmp.install.packages <- function(pack, dependencies=TRUE, ...) {
  path <- tempdir()
  ## Add 'path' to .libPaths, and be sure that it is not
  ## at the first position, otherwise any other package during
  ## this session would be installed into 'path'
  firstpath <- .libPaths()[1]
  .libPaths(c(firstpath, path))
  install.packages(pack, dependencies=dependencies, lib=path, ...)
}

您可以这样简单地使用它:
tmp.install.packages("pkgname")

该软件包安装在一个临时目录中,并且在下次系统重启时(至少在Linux系统上)应删除其文件。

10-04 21:52
查看更多