gpt4 book ai didi

r - 如何 "reinstall and reload"本地 R 包?

转载 作者:行者123 更新时间:2023-12-04 03:56:23 25 4
gpt4 key购买 nike

我正在将统计算法实现到 R 包中,该包将用于我的分析。 R 包在我的磁盘上是本地的。

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

做到这一点的最佳方法是什么?目前,我使用:

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

但是,似乎我仍然需要手动告诉 Rstudio 重新启动我的 R session 以启动新版本。

最佳答案

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

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

Note: package is literal, my_package = insert your package name here

library(dplyr)
detach("package:dplyr", 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()单独不会更新当前加载的包,因为此检查不区分包版本。
另外值得注意的是,您必须先 unload任何依赖项,否则您将看到以下影响的错误:

Warning message:‘dplyr’ namespace cannot be unloaded:namespace ‘dplyr’ is imported by <package(s)> so cannot be unloaded

关于r - 如何 "reinstall and reload"本地 R 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46916283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com