RStudioを継続して利用していると、Rに多くのパッケージがatachされていることに気付かない。またR自身がバージョンアップされていることもある。そうすると、パッケージのインストールや更新を行う際に、思いがけずエラーに遭遇することがある。

その時に、RをTerminateして、起動し直すのも手だが、一度、すべてのパッケージをdetachすることも考えられる。そのためのコードを用意した。と言っても、一から書いたのではなく、こちらのコードを、少し可読性を上げさせて頂いただけ。リンクして感謝する。

detach.all.extra.packages <- function() {
  packages.default <- getOption("defaultPackages")
  search.paths <- search()
  packages.loaded <- search.paths[ifelse(unlist(gregexpr("package:", 
                                                         search.paths)) == 1, 
                                         TRUE, 
                                         FALSE)]
  packages.extra <- setdiff(packages, packages.default)
  lapply(packages.extra, detach, character.only = TRUE)
}