服务器R语言包下载、R包离线安装

1、R包介绍:

1.1、R包(package)通常有两种:

  • 二进制代码包(Binary package):这种包属于即得即用型(ready-to-use),但是依赖平台,比如Windows和Linux平台下不同。

  • 源代码包(Source package): 此类包可以跨平台使用,但用之前需要处理或者编译(compiled)。同时,源代码包可以查看到程序源代码,便于查找、修改和引用。

2、R包安装

2.1、源代码安装

下载路径:https://cran.r-project.org/src/contrib/Archive/

选择相应的包点击进入选择适合版本下载,嫌查找麻烦的话可以网址上输入R包名称,比如xgboost包:

示例路径:https://cran.r-project.org/src/contrib/Archive/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')

参考:

https://blog.csdn.net/learneraiqi/article/details/46357129

https://blog.csdn.net/liu365560704/article/details/70321153/

发布了27 篇原创文章 · 获赞 134 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/yawei_liu1688/article/details/81215643