R

R 升級版本,自動安裝舊版 R 所有套件教學

本篇介紹如何在安裝新版本的 R 之後,自動在新版 R 中把舊版 R 中有安裝的套件一起裝起來。

R 的版本更新非常快,而在安裝新版本的 R 之後,許多套件都要重新安裝,如果少裝了某些套件,舊的程式就會無法執行,但是套件數量很多的時候,手動安裝會很麻煩,這時候只要利用簡單的 R 指令稿,即可自動處理所有套件安裝的問題。

CRAN 套件

大部分的 R 套件都是透過官方 CRAN 套件庫安裝的,只要用簡單的內建指令即可處理。

匯出舊套件名稱

首先在舊版的 R 環境中,匯出所有套件名稱,將其儲存在一個暫存檔案中:

# 設定 R 套件名稱列表暫存檔案
pkgs.file = "~/installed_packages.RData"

# 列出所有舊套件(排除內建套件)
pkgs.df <- installed.packages(priority = "NA")
pkgs.vec <- as.vector(pkgs.df[,1])

# 將套件名稱儲存在暫存檔案中
save(pkgs.vec, file = pkgs.file)

自動安裝套件

接著在新版的 R 環境中,載入這些套件名稱,自動安裝所有套件:

# 設定 R 套件名稱列表暫存檔案
pkgs.file = "~/installed_packages.RData"

# 載入套件名稱列表
load(pkgs.file)

# 安裝所有套件
install.packages(pkgs.vec)

這樣就完成套件的自動安裝了。

如果在安裝完成時,出現類似這種找不到套件的警告訊息,就表示這些套件不在 CRAN 之內,這時候就要另外查詢這些套件是從哪裡來的,另外以手動處理。

Warning message:
packages ‘AnnotationDbi’, ‘Biobase’, ‘BiocGenerics’, ‘BiocInstaller’, ‘IRanges’, ‘S4Vectors’ are not available (for R version 3.6.1)

Bioconductor 套件

許多 CRAN 中沒有收錄的 R 套件都是從 Bioconductor 來的(尤其是生物相關的),對於 Bioconductor 的套件來說,安裝方式就會跟 CRAN 的套件不同。

若要安裝 Bioconductor 的套件,就要手動將套件的名稱整理好,再按照以下的指令安裝。

# Bioconductor 套件列表
bio.pkg <- c("AnnotationDbi", "Biobase", "BiocGenerics", "BiocInstaller", "IRanges", "S4Vectors")

# 安裝與載入 BiocManager 套件
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

# 安裝 Bioconductor 套件
BiocManager::install(bio.pkg)
G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

1 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

2 年 ago