如何"重新安装和重新加载"当地的R套餐?

时间:2017-10-24 17:09:30

标签: r

我在R包中实施统计算法,将在我的分析中使用。 R包在我的磁盘上是本地的。

由于我对R软件包进行了大量更改,因此我希望我的分析脚本每次运行时都会重新安装并重新加载新的R包。

最好的方法是什么?目前,我使用:

install.packages("~/my_package/", repos=NULL, type="source") 
library("my_package")

然而,似乎我仍然需要手动告诉Rstudio重启我的R会话以启动新版本。

1 个答案:

答案 0 :(得分:1)

您必须卸载当前版本的软件包才能使更新在您尝试再次加载时生效。

detach("package:my_package", unload=TRUE)

如果已加载包library(),则不会再次加载它。你可以通过运行

来看到这一点
library(dplyr, verbose=TRUE)
library(dplyr, verbose=TRUE)

第一次运行此命令时,它会加载包,第二次返回:

Warning message:
In library(dplyr, verbose = T) :
  package ‘dplyr’ already present in search()

library()使用is.na(match("package:dplyr",search()))的通用形式来确定是否附加了包,因此单独运行library()将不会更新当前加载的包,因为此检查不会区分包版本。