升级 R 后,我能否自动更新包?

4 浏览
0 Comments

升级 R 后,我能否自动更新包?

最近,Andrew Gelman对R的升级过程缺乏简便方法表示遗憾(在Windows上比Linux更为相关)。是否有人知道一个好的技巧来进行升级,包括安装软件和复制所有设置/包的过程?

评论中包含了这个建议,这是我最近使用的方法。首先安装新版本,然后在旧版本中运行以下代码:

#--在旧版本的R中运行

setwd("C:/Temp/")

packages <- installed.packages()[,"Package"]

save(packages, file="Rpackages")

接着在新版本中运行以下代码:

#--在新版本中运行

setwd("C:/Temp/")

load("Rpackages")

for (p in setdiff(packages, installed.packages()[,"Package"]))

install.packages(p)

0
0 Comments

在升级R之后,我能否自动更新包的问题是由于以下原因引起的:升级R后,旧的包可能不再兼容新版本的R,因此需要更新这些包以确保它们能够正常工作。

解决这个问题的方法是使用"installr"包。在Windows系统中,可以使用以下代码更新R和相关的包:

install.packages("installr")
require(installr)
updateR()

这样做的最佳方式是从RGui系统中进行。您的所有包将被转移到新文件夹中,旧的包将被删除或保存(您可以选择其中之一)。然后,一旦再次打开RStudio,它会立即识别到您正在使用更新的版本。对我来说,这个方法非常有效。

如果您安装了通过GitHub获取的包,上述方法可能不适用。需要采取其他措施来更新这些包。

需要注意的是,这个解决方案适用于Windows系统。

需要指出的是,这个解决方案似乎在Windows 10上不起作用。

0