Обновлять пакет автоматически при запуске

Меня раздражает, что мне приходится нажимать Инструменты -> Обновлять пакеты каждый раз, когда я загружаю RStudio. Я мог бы использовать update.packages(c("ggplot2")) например, чтобы обновить мои пакеты в.RProfile, но проблема в том, что он не будет искать другие пакеты (зависимости). Например, мне приходится обновлять пакеты "seriation" и "digest" каждый раз, когда я запускаю RStudio, и эти пакеты не загружаются мной при запуске. У кого-нибудь есть код для автоматической проверки и обновления всех пакетов при запуске? Если да, не могли бы вы поделиться здесь? Я активно гуглил эту тему и искал в SO, и кажется, что популярным мнением является использование меню RStudio. Вот тема, на которую я ссылаюсь: Как обновить R2jags в R?

Один из способов сделать это -.RProfile:

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

а затем вызвать эту функцию: https://gist.github.com/stevenworthington/3178163

Однако я не совсем уверен, является ли это наиболее оптимальным методом.

Другая связанная тема: загрузка пакета при запуске

Я создал тему выше. Буду признателен за любые мысли.

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)
  }
}
Другие вопросы по тегам