Linux 安装R包

https://www.cnblogs.com/jessepeng/p/10984983.html

Linux 的R环境,可以通过anaconda jupyter notbook很容易的配置,见我之前的博客  https://www.cnblogs.com/shanyr/p/11276755.html

安装R包

Linux下安装R包一般有2种方式:
1. R CMD INSTALL
下载源码
R CMD INSTALL /.../mypackage.tar.gz
也可指定安装库路径:
R CMD INSTALL /.../mypackage.tar.gz --library=/your/lib/path
更多参数--help一下

2. install.packages
which R查看下路径,是否是刚才自己安装的R。敲R,或全路径进入R
install.packages('mypackage'),这种方式针对CRAN包。
一般会让你选择镜像。选择自己最近的,有的镜像所含的R包不是很全,需要换一下。如果没有自己想要的镜像,也可自己指定(在R官网中可查镜像https://cran.r-project.org/mirrors.html)。
install.packages("packages","repos" = (CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"),lib="/lib/path")

以上针对的是CRAN中的包,如果是 bioconductor包呢?
先装BiocManager,再安装所需R包即可。

install.packages("BiocManager")  #如已安装,后续安装不再需要
BiocManager::install("clusterProfiler")

不推荐以下安装方法,速度会很慢。

source("http://bioconductor.org/biocLite.R")
biocLite("mypackage")

如果不指定R包安装的路径,R包会安装在/your/R/lib64/R/library中,这也是R自带的基础包的目录。

常见操作

1.包的操作和管理

  • 添加环境变量:
export PATH=/your/R/bin:$PATH
export LD_LIBRARY_PATH=/your/complie_tools/zlib/lib:/your/complie_tools/curl/lib:/your/complie_tools/bzip2/lib:/your/complie_tools/pcre/lib:/your/complie_tools/xz/bin:/your/R/lib64/R/lib:$LD_LIBRARY_PATH  #这些都是一些依赖库
  • 添加R库路径到环境变量:
export R_LIBS=/your/R_packages
export R_LIBS=/others/.../R/lib64/R/library #添加环境变量R的lib路径,可以使用别人安装的包

R中用.libPaths()函数查看lib路径,如果有多个lib,install.packages()默认是安装在第一个目录下。如果一开始就没指定R包安装路径并配置环境变量,则默认安装在/your/R/lib64/R/library中。

2. 其他操作
其实和window控制台一样,只是换成了单命令行:

.libPaths() #查看包的安装目录
library() #查看已经安装的包目录
library(package) #载入mypackage包
getOption("defaultPackages") #查看启动R时自动载入的包。
help(package = 'mypackage') #查看‘mypackage’的帮助

args(function):查看函数的参数
example(function):自动运行该函数帮助文档中的例子,很赞!
demo("package"):展示包中demo
vignette('mypackage'):有的包特别是bioconductor的包有vignette
openVignette('mypackage'):这个函数也可以查看vignette,更好用一些
RSiteSearch("helpinfor"):搜索R网站上的“helpinfor”相关信息
help.start():查看已经安装包的详细HTML文档,这个命令非常爽。

search():查看当前载入的包
sessionInfo():查看R中载入的包
methods():查看某个S3泛型函数中所有的方法或者一个类中所有的方法(S3:S version 3)
showMethods(class = "myClass"):查看S4类的方法
findMethods("myMethods"):查看method的代码
class(myObject):查看某个对象的类
getClass(“class/package”):查看某个class或者包的具体内容
getSlots("class"):查看某个class的slot
slotNames(MyObject):查看某个对象的slot。
可以使用Myobject@slotNames访问对象的slot值,这个@设计实在是太爽了,可以连续用。

查询包内信息:
1. ?function/method:查看某个“函数”或者“方法”的详细内容
2. class?graph::graph:查看“组”的详细内容的一个例子。这个例子的来源是查询graph包时候,查看其中class的信息,输入??graph后出现一个graph::graph-class。

ls("package:mypackage"):查看"mypackage"中的所有对象。

Ref: https://www.cnblogs.com/xianghang123/archive/2013/01/08/2851450.html

原文地址:https://www.cnblogs.com/shanyr/p/11427876.html