主題
R 在安裝目錄時, 如果有客製化需求, 可以設定套件安裝目錄, 本篇說明R的安裝目錄, 套件訊息與客製化安裝套件目錄之方法. 本方法使用R函數設定, 可用於 Windows, macOS, ubuntu等作業系統, 以下執行結果可能因使用者名稱與安裝路徑不同而有所差異.
感謝 Ying-Zhe 提供此問題.
關鍵字
# R.home()
# find.package('套件名稱')
# packageVersion('套件名稱')
# .libPaths()
# Rprofile.site
1. 查詢R的安裝目錄
# Windows 10
# "C:/PROGRA~1/R/R-41~1.2"
# macOS Catalina
[1] "/Library/Frameworks/R.framework/Resources"
# ununtu 20.04.3
[1] "/usr/lib/R"
2. 套件安裝目錄
# Windows 10
[1] "C:/Users/user/Documents/R/win-library/4.1/ggplot2"
# macOS Catalina
[1] "/Library/Frameworks/R.framework/Versions/4.1/Resources/library/ggplot2"
# ununtu 20.04.3
[1] "/home/rwepa/R/x86_64-pc-linux-gnu-library/4.1/ggplot2"
3. 套件版本
[1] ‘3.3.5’
4. 套件訊息
packageDescription('ggplot2')
Package: ggplot2
Version: 3.3.5
Title: Create Elegant Data Visualisations Using the Grammar of Graphics
....
5. 自訂套件安裝目錄
方法1-每次啟動R或RStudio皆須設定
# 步驟1 顯示套件下載與安裝目錄
.libPaths()
# [1] "C:/Users/user/Documents/R/win-library/4.1"
# [2] "C:/Program Files/R/R-4.1.2/library"
# 步驟2 建立自訂套件安裝目錄
# 考慮在使用者目錄中,以檔案總管建立 mypackages 目錄,本步驟依實際需求修改.
# 自訂套件目錄之完整路徑 C:/Users/user/mypackages
# 步驟3 加入自訂套件目錄於系統套件搜尋路徑之中
.libPaths('C:/Users/user/mypackages')
# 步驟4 顯示目前套件下載與安裝目錄
.libPaths()
# 結果顯示已經加入完成
# [1] "C:/Users/user/mypackages"
# [2] "C:/Program Files/R/R-4.1.2/library"
# 步驟5 安裝套件
install.packages("e1071")
# 步驟6 測試套件之載入, 結果顯示正常載入套件,準備收工...
library(e1071)
# 結果正常載入,無錯誤訊息
# 步驟7 重新啟動 R或RStudio 測試套件之載入,發生錯誤!!!
library(e1071)
# Error in library(e1071) : there is no package called ‘e1071’
# 步驟8 重新加入系統套件搜尋路徑之中(因為每次啟動皆須設定)
.libPaths('C:/Users/user/mypackages')
.libPaths()
[1] "C:/Users/user/mypackages"
[2] "C:/Program Files/R/R-4.1.2/library"
# 步驟9 測試套件之載入,結果顯示正常載入套件,正式完成,還有方法2 ...
library(e1071)
# 結果正常載入,無錯誤訊息
方法2-設定於R組態檔,每次啟動R/RStudio時無需設定
考慮 Windows 10 作業系統, R組態檔 Rprofile.site之位置如下
# C:\Program Files\R\R-4.1.2\etc\Rprofile.site
# 考量已經於以下目錄(C:\Users\user\Documents\R\win-library\4.1)安裝套件
# 使用 Notepad++ 等文字編輯器軟體,於檔案最底下加入以下1行程式,儲存檔案.
.libPaths(c('C:/Users/user/mypackages', 'C:/Users/user/Documents/R/win-library/4.1'))
# 下圖為 Notepad++ 免費軟體編輯 Rprofile.site 畫面
# end