Обновлять пакет автоматически при запуске
Меня раздражает, что мне приходится нажимать Инструменты -> Обновлять пакеты каждый раз, когда я загружаю 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)
}
}