R语言学习之R程序包安装

R实际是通过命令操作软件,命令实际是在调用函数。

R包是R函数、数据、预编译代码以一种定义完善的格式组成的集合,包括R程序,运行该程序的其他语言(比如Java/C/Fortran),解释这个程序功能、方法的帮助文档,例子、测试数据等。

只有当一个包被载入时,它的内容才可以被访问。一些常用、基本的程序包已经被收入了标准安装文件中,R安装好之后就可以使用,包括base、methods、datasets、utils、grDevices、graphics、stats。随着新的统计分析方法的出现,即便标准安装文件中所包含的程序包也随着版本的更新而不断变化。所以程序包的操作是基础。

一、程序包操作的基本命令

1、安装包:

  • 安装包的基本命令
install.packages("*package_name*","*dir*")

package_name:要安装的R包的名称,R严格区分大小写。
dir:包安装的路径。默认R安装的文件夹下的library文件夹中。

默认安装最新版的。安装包的过程中如果需要引用到关联R包,也会自动安装。

  • 多个包可以通过一个数组来安装
install.packages(c("package 1","package 2",···))

以安装rJava为例:
R语言学习之R程序包安装_第1张图片
*Windows系统为例,涂改部分为个人用户名。
*红框部分是临时存储的包的安装文件,不用担心占用C盘空间,会自动删除。如果C盘确实没有空间了建议参照修改修改用户变量的那篇文章,更换一下临时存储文件的位置。

2、加载包:
使用包之前需要先加载到内存,默认R启动后自动加载基本包,加载包命令:

library("package_name")
require("package_name")

library() 忽略参数可以列出所有已经安装的包

3、卸载包:

remove.packages("package_name")

4、查看包的相关信息:
(1)查看帮助信息:

library(help="package_name")

主要内容包括:包名、版本、作者、功能描述、开源协议、存储位置、更新时间、主要的函数。针对的是已经安装的版本。
以rJava为例:
R语言学习之R程序包安装_第2张图片

help(package="package_name")

主要内容包括:包的内置所有函数,是更为详细的帮助文档,同官网内容。

(2)查看当前环境加载了哪些包

find.package()
path.package()

结合加载包的命令,以ggplot2为例,顺便认识一下标准安装文件中的基本包。 R语言学习之R程序包安装_第3张图片
(3)移除包出内存

detach()

移除内存中人为加载的包,仅保留基本包。
在开始新的任务之前释放更多的内存空间也非常重要。

(4)查看这个包里的数据

data(package="package_name")

以ggplot2为例:

data(diamonds,package = "ggplot2")

R语言学习之R程序包安装_第4张图片

二、生物信息分析常用R程序包的三个来源

1、CRAN网站http://cran.r-project.org/),多种镜像支持,可以选择最近的镜像来减少网络负载。当然最近的镜像如果没有及时更新的话,可能也会出现安装问题,使用基本安装包的命令即可安装。

2、BIOCONDUCTOR生物学工具的网站http://bioconductor.org),包含各种基因组数据分析和注释的工具。其实也是有镜像的网址www.bioconductor.org/about/mirrors/
安装包的R包之前需要先安装BiocManager工具包,通过工具包现在bioconductor网站上面的R包。安装命令:

install.packages("BiocManager")
library(BiocManager)
BiocManager::install("package_name")

3、Github是一个开源开发社区(http://github.com),很多开发者会把开发的R包放在上面而不是挂到CRAN上。还有些人会把Github当作服务器,挂载自己网页的源码再解析到个人域名上。安装包的R包之前需要先安装devtools工具包,通过工具包安装所需R包的命令:

install.packages("devtools")
library(devtools)
devtools::install_github("package_name")

其实也可下载R包的安装文件然后本地安装,在安装包的时候如果有其他关联包没有安装的话也会出现包无法安装成功的情况。所以还是建议在线安装。

你可能感兴趣的:(R)