2019年1月22日 星期二

簡介R套件:安裝、更新、移除、載入

以下內容翻譯與整理《R Packages: A Beginner's Guide》一文,主要段落為:
  1. 什麼是R套件(packages)
  2. 什麼是套件倉庫(repositories)
  3. 如何安裝一個R套件
  4. 如何更新、移除與檢查已經安裝的套件
  5. 其他圖形化套件安裝介面
  6. 如何載入(load)套件
  7. 套件(package)和library的差別
  8. 一次載入多個套件
  9. 卸載(unload)套件
  10. 其他相關文件


1.  什麼是R套件(packages)

特定目的的函式、文件、資料之集合。對於套件stat,可用下面的指令來看描述
  • packageDescription("stats")
  • help(package = "stats")

2. 什麼是套件倉庫(repositories)

存放套件的網路空間,下面三個是最常使用的套件倉庫:
  1. CRAN:官方存放空間
  2. Bioconductor:主要放生物資訊相關的套件
  3. GitHub:上述兩者都需要審查,這邊是個人想放就放

3. 如何安裝一個R套件

  1. 從CRAN安裝一個或多個套件:
    • install.packages("vioplot")
    • install.packages(c("vioplot", "MASS"))
    • chooseCRANmirror()
    • install.packages("vioplot", repo = "http://cran.csie.ntu.edu.tw/")
  2. 從Bioconductor安裝套件:
    • source("https://bioconductor.org/biocLite.R")
    • biocLite()
    • biocLite(c("GenomicFeatures", "AnnotationDbi"))
  3. 使用devtools安裝套件:類似的指令從不同的套件倉庫來安裝套件
    1. install_bioc():從Bioconductor安裝
      devtools::install_bioc("DESeq2")
    2. install_bitbucket()
    3. install_cran():從CRAN安裝
    4. install_version():從CRAN選擇版本安裝
    5. install_git():從GitHub安裝、例如說
      devtools::install_github("hadley/babynames")
    6. install_local():從本地硬碟安裝
    7. install_svn()
    8. install_url():從URL來安裝

4. 如何更新、移除與檢查已經安裝的套件

  • 檢查安裝的套件
    • installed.packages()
  • 刪除特定套件、例如說vioplot
    • remove.packages("vioplot")
  • 檢查哪些套件需要升級
    • old.packages()
  • 更新所有套件、或是更新特定套件如vioplot
    • update.packages()
    • install.packages("vioplot")

5. 其他圖形化套件安裝介面

Rstudio本身就有GUI介面,要是從遠端用指令的話:
  • R -g Tk &

6. 如何載入(load)套件與使用套件的內容物

要使用套件package下面的函式function有兩個做法:
  1. 先載入套件後,再使用其函式。例如說:
    • library(babynames):載入babynames這個套件
    • births:使用babynames這個套件裡面的資料births
  2. 直接使用套件的函式,上面兩個指令就可以合併成為:
    • babynames:births

7. 套件package和library的差別

想要看目前可以用(但不一定有載入)的套件可以用指令:
  • library()

想要載入某個叫做pkg的套件也是用library指令:
  • library(pkg)

8. 一次載入多個套件

安裝多個套件的時候可以用:
  • install.packages(c(pkg1, pkg2, pkg3))

但要載入的時候,必須要使用多行才能載入
  • library(pkg1)
  • library(pkg2)
  • library(pkg3)

9. 卸載(unload)套件

卸載babynames這個套件用指令:
  • detach("package:babynames", unload=TRUE)
或是簡化成為:
  • detach("package:babynames")

10. 其他相關文件,套件與函式

  • help(vioplot, package = "vioplot"):看vioplot套件內的vioplot指令
  • library(babynames)
    ls("package:babynames"):列出此套件裡面含有的東西
  • vignette():類似library(),列出套件說明
  • vignette(package = "ggplot2")
  • vignette("ggplot2-specs")


其他參考資料與相關資料

_EOF_

沒有留言:

張貼留言