R packages
mean(), list(), sample(),这些function 都来自于某package中。
这些函数以及它们的package 都作为基础的包默认安装在了R中。(安装R 就会默认安装它们)
通过install.packages()
下载包
通过library()
加载安装的包
通过require()
加载安装的包,和library不同,该命令会返回一个布尔值,若为TRUE表示有下载的包,且完成了加载。
通过search()
查找运行的包
要点:一次只能运行一个包。
R包来源
(1)CRAN网站
https://cran.r-project.org/web/views/
(2)Bioconductor
(3)github
R包安装前设置
镜像
镜像网站相当于主网站的副本,在访问主网站存在障碍时,访问镜像 网站也可。
R和Bioconductor主网站位于国外,选择国内的镜像可加快访问速度。
国内镜像推荐
清华镜像(tuna,Beijing)
中科大镜像(ustc,Hefei)
镜像设置方法
方法1:tools–global option-packages-选择中科大或清华
方法2:代码设置
options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
R包安装与加载
可以直接在Rstudio中下载。
R包来源决定安装使用的代码
CRAN:install.packages()
Biocductor: BiocManager::install()
Github:devools::install_github()
from CRAN
例:tidyr
install.packages("tidyr")
form Biocductor
install.packages('BiocManager')
BiocManager::install("ggplot2")
由于2008年以后 BiocInstaller:biocLite()
就不再使用,因此有的老教程使用该命令应该替换为BiocManager。
from github
install.packages('devtools')
devtools::install_github("jmzeng1314/biotrainee") #括号里写包名,本地安装的方法。
来源未知
谷歌、必应搜索包名,即可找到。
前两个命令逐个试一下,一个命令不成功就用另一个。
判断式安装
有时候我们不确定安装的R包是否已经存在,因此可以使用语句作为前提进行检验。
if(!require(ggplot2))install.packages('BiocManager')
安装后需要加载才能用
一次安装,每次打开新的session都要加载。
加载:二选一,不加引号,library()或require()
library() require()
library(tidyr)
require(tidyr)
R包的使用逻辑及帮助
(1)安装包-加载包-使用包里的函数
如报错:找不到函数,则加载函数所在的包,重试。
如报错:不存在叫xx名字的包,则安装xx包,重试。
⚠️!!!library()是检查是否安装成功的标准。!!!
(2)已安装、不加载,直接使用
BiocManager::install()
dplyr::filter()
包名 ::函数名
,表示显式的指定用某个包里的某个函数,通常用于实战中仅用一次的函数,也适用于两个包中的函数名有冲突的情况。(有时候可能不同的包中使用的函数命名了相同的名字)
帮助
(1)快速查看函数帮助文档
?max
或者help("max")
,主要看描述/参数/实例。
example 非常好用,可以直接给出相关的使用语句。
?seq
help("seq")
example("seq")
(2)找R包介绍页面(CRAN或Bioconductor)
可以找到该R包最详细的介绍,包括安装使用的代码及详细的pdf文档。
(3)少数R包有cheatsheets
https://www.rstudio.com/resources/cheatsheets/
(4)browseVignettes
直接查看R包的网页说明书。
browseVignettes('ggplot2')
(5)ls 查看包中函数
> head(ls('package:ggplot2'),5)
[1] "%+%" "%+replace%" "aes" "aes_" "aes_all"
R包使用常见问题
(1)大片提示信息
检查是否有error,没有就忽略
(2)packages not available
原因1:包名写错
原因2:安装命令使用错误
原因3:本机的R语言版本与包所要求的版本不符(极少)
(3)别更新
能不更新就不更新,除非一直报错。
安装命令加参数:update = F, ask = F。
问是否更新的、“不存在”的是依赖包
(4)依赖包问题
它问是否更新的是依赖包 R包之间存在复杂的依赖关系 使用A包,就必须同时用B、C, 而C又依赖了D包 理论上: 安装A,就会自动安装BCD 加载A,就会自动加载BCD 实际上: 常会因为一两个依赖包的安装失败,导致你想安装的那个包安装失败。(5)connection问题
切换镜像,检查网络连接,如果都没有问题,运行。