在启动时自动更新包

时间:2016-08-08 06:06:15

标签: r package rstudio rprofile

我觉得很烦人,我必须点击工具 - >每次加载RStudio时都更新包。我可以使用update.packages(c("ggplot2"))来更新.RProfile中的包,但问题是它不会寻找其他包(依赖项)。例如,我必须更新" seriation"和"消化"我每次启动RStudio时都会打包,这些软件包在启动时都没有加载。有没有人有代码在启动时自动检查和更新所有包?如果是的话,请你在这里分享一下吗?我广泛搜索了这个主题并搜索了SO,似乎流行的观点是使用RStudio的菜单。这是我所指的主题:How to update R2jags in R?

我能想到的一种方法是.RProfile:

a<-installed.packages()
b<-data.frame(a[,1])

然后调用此函数:https://gist.github.com/stevenworthington/3178163

但是,我不太确定这是否是最佳方法。

另一个链接的主题是:Load package at start-up

我创建了上面的线程。 我很欣赏任何想法。

1 个答案:

答案 0 :(得分:1)

我在互联网上找到了这个(不记得在哪里)当我遇到同样的问题时,虽然你仍然需要运行这个程序。希望这会有所帮助。

all.packages <- installed.packages()
r.version <- paste(version[['major']], '.', version[['minor']], sep = '')

for (i in 1:nrow(all.packages))
{
  package.name <- all.packages[i, 1]
  package.version <- all.packages[i, 3]
  if (package.version != r.version)
  {
    print(paste('Installing', package.name))
    install.packages(package.name)
  }
}