伺服器R語言包下載、R包離線安裝
阿新 • • 發佈:2019-01-04
1、R包介紹:
1.1、R包(package)通常有兩種:
-
二進位制程式碼包(Binary package):這種包屬於即得即用型(ready-to-use),但是依賴平臺,比如Windows和Linux平臺下不同。
-
原始碼包(Source package): 此類包可以跨平臺使用,但用之前需要處理或者編譯(compiled)。同時,原始碼包可以檢視到程式原始碼,便於查詢、修改和引用。
2、R包安裝
2.1、原始碼安裝
選擇相應的包點選進入選擇適合版本下載,嫌查詢麻煩的話可以網址上輸入R包名稱,比如xgboost包:
執行:
# R CMD INSTALL /.../myPackage.tar.gz
使用此方法,需要解決包依賴問題,即安裝此包所依賴的包,安裝過程有提示,需要將所有相關依賴R包全部安裝成功後,才會被成功安裝,依賴包單獨下載及安裝比較麻煩,解決辦法如下:
第一步:下載包和依賴到本地目錄下:
getPackages <- function(packs){ packages <- unlist( tools::package_dependencies(packs, available.packages(),which=c("Depends", "Imports"), recursive=TRUE) ) packages <- union(packs, packages) packages } myPackages <- c("dplyr","sqldf","DBI","rJava","RJDBC","forecast","lubridate","xgboost","ggplot2","plyr") packages <- getPackages(myPackages) download.packages(packages, destdir="E:/R_packages/", type="source")
第二步:把包和依賴傳入離線環境後,離線安裝:
library(tools)
path <- "E:/R_packages"
write_PACKAGES(path,type="source")
myPackages <- c("dplyr","sqldf","DBI","rJava","RJDBC","forecast","lubridate","xgboost","ggplot2","plyr")
install.packages(myPackages, contriburl=paste("file:",path,sep=''),type="source")
這種方法可以解決原始碼包安裝依賴包的問題;另外由於資料安全問題,針對大多資料工作都是在離線環境下完成的這一情況,該方法也可以實現R包的方便安裝。
2.2、內建install.packages()
函式安裝
使用install.packages()
安裝,比較簡便,聯網即可安裝即可用。使用這種方法安裝包時,R會自動安裝依賴的包。有一點需要注意的是,一些R包只能在特定的平臺上使用。比如Rsubread不能在Windows作業系統下使用。
install.packages('myPackage')
同時,可以使用install.packages()
安裝本地下載的包,尤其適用於在伺服器上安裝包
install.packages(
c('XML_0.99-5.tar.gz', '../../Interfaces/Perl/RSPerl_0.8-0.tar.gz'),
repos = NULL,
configure.args = c(XML = '--with-xml-config=xml-config', RSPerl = '--with-modules= "IO Fcntl"'))
3、R包相關函式
# 檢視包的安裝目錄
.libPaths()
# 檢視已經安裝的包及歸屬目錄
library()
# 檢視已安裝包資訊
installed.packages()
# 載入myPackage包
library(myPackage)
require(myPackage)
# 檢視當前載入的包
search()
# 檢視啟動R時自動載入的包。
getOption('defaultPackages')
參考: