fle*_*ive 5 customization r upgrade cran
有时 GNU R 有一个问题,Hadley Wickham建议:
我建议您重新安装所有软件包。
问题是如何以最好的方式做到这一点。我知道install.packages或update.packages将升级所有软件包版本并覆盖现有版本:
update.packages(checkBuilt = TRUE, ask = FALSE)
Run Code Online (Sandbox Code Playgroud)
使用 CRAN 包时(GitHub 或其他来源没有什么特别之处),这种天真的方法对我有用:
my.packages <- rownames(installed.packages());
install.packages(my.packages);
Run Code Online (Sandbox Code Playgroud)
例如,如果我从 GitHub 安装了开发版本,或者使用了一些未公开共享的本地包,我该怎么办?
我正在寻找的是一种方法:
我该如何满足这些要求?
(1) 的部分解决方案 - 找出哪些软件包将被升级/降级:
my.packages <- installed.packages();
my.avail <- available.packages();
z <- merge(
my.packages[,c("Package","Version")],
my.avail[,c("Package","Version")],
by = "Package", suffixes = c('.my','.avail'));
z$Version.my <- as.character(z$Version.my)
z$Version.avail <- as.character(z$Version.avail)
# my packages which will be upgraded
subset(z, Version.my < Version.avail)
# my packages that will be downgraded
subset(z, Version.my > Version.avail)
Run Code Online (Sandbox Code Playgroud)
我认为这只是近似值 - 根据依赖关系,您可能无法获得所有升级。但是如果使用开发版本,您应该会看到预期的降级吗?
升级所有软件包的另一种方法是使用以下命令: