函数和R包

函数

(1)形式参数与实际参数

函数和R包_第1张图片

(2)写函数的函数

  • 圆括号里是形式参数,及设定的默认值
  • 大括号里是jimmy函数的具体公式

    函数和R包_第2张图片

  • 举例

    函数和R包_第3张图片

(3)默认参数

函数和R包_第4张图片

复习

  • 绘图函数plot()
    • 数值型向量,以x的小标为横坐标,以x的数据为纵轴

      函数和R包_第5张图片

    • 分别画iris里1,2,3,4列的数据

      函数和R包_第6张图片

    • 以第5列提供的种类画出不同颜色

      函数和R包_第7张图片

    • 写一个函数简化重复修改列数画4张图

      函数和R包_第8张图片

  • 当一个代码需要复制粘贴三次,就应该写成函数或使用循环

R包

1.R包是什么

  • R程序包是多个函数的集合,具有详细的说明和示例
  • 也有的R包只有数据,没有函数
  • 包含R函数、数据、帮助文件、描述文件等。

2.为什么要安装R包?

    • 特定的分析功能,需要用相应的程序包实现。
    • 例如:作图包ggplot2,差异分析包limma等等。
  • 目的不是学会某个具体的R包,而是找所有R包使用的规律

3.R包来源(3种)

#(1)CRAN网站(https://cran.r-project.org/web/views/)          
install.packages()
install.packages("string")

#(2)Bioconductor(https://bioconductor.org/)   
#旧代码   BiocInstaller::biocLite()
BiocManager::install()
BiocManager::install("ggplot2")

#(3)github,()内写作者用户名+包名
devtools::install_github()
devtools::install_github("jmzeng1314/AnnoProbe")

  #网络问题经常导致github访问不了,可选择本地安装
  devtools::install_local("AnnoProbe-master.zip,upgrade=F)

函数和R包_第9张图片

CRAN、Bioconductor的R包本地安装方式 (一般除了很大的包,否则这两个网站不需本地安装)

不知道从哪里来的:搜一搜

安装后需要加载(加不加引号都可以)

函数和R包_第10张图片

library()
library(stringr)
require()
require(stringr)

4.(国内)R包安装前需设置镜像

R和Bioconductor主网站位于国外,选择国内的镜像可加快访问速度

镜像网站相当于主网站的副本,访问主网站存在障碍时,访问镜像网站也可以

国内镜像推荐

清华镜像(tuna,Beijing) The Comprehensive R Archive Network

Index of /bioconductor/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

中科大镜像(utst,Hefei)The Comprehensive R Archive Network

Index of /bioc/

方法一:tools-global option-packages

函数和R包_第11张图片

方法二:代码设置

options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/") 

5.R包安装和使用逻辑

(1)安装包→加载包→使用包里的函数

函数和R包_第12张图片

(2)已安装、不加载,快速使用

BiocManager::install()
dplyr::filter()

6.常见问题

(1)大片提示信息

函数和R包_第13张图片

(2)package not available

函数和R包_第14张图片

R语言版本99%的情况下没有问题,但它总是无辜被怀疑

(3)是否更新

函数和R包_第15张图片

    • n不行就a,千万不要s
    • 不回答就一直问。。。。

      函数和R包_第16张图片

  • 学R语言要高冷,能no就no,no不行再yes;
  • 学linux要听话,让你yes你就yes

(4)加载A包,报错B包不存在

函数和R包_第17张图片

问是否更新的,“不存在”的是依赖包

函数和R包_第18张图片

依赖包的版本不够新

函数和R包_第19张图片

更新一个包:

  • 重新安装,
  • 或先删除再重新安装(session需重启)

更新所有的包: update.packages()

(5)报错中有connection或url、404、http

options(download.file.method='libcurl')
options(url.method='libcurl')
  • 校园网限制:换个网,手机热点
  • 镜像:没设置?镜像崩了?
  • 大胆假设,小心求证,试错几乎没有成本

满分操作:判断式安装

函数和R包_第20张图片

if(!require(string))install.packages("strings") #如果stringr这个包已经存在,就不安装;没安装就安装一下
  • 问题:成功的

    函数和R包_第21张图片

如果实在不行就把英文的报错复制在必应或google上搜索解决办法

7.R包的使用场景

  • 某流程代码中用到某些包
  • 学绘图,用到ggplot2
  • 别人的代码套子集的数据,报错不会改
  • 大多数包里的函数规律一致,不需要单独学习,用到哪个函数学哪个函数
  • 少部分包里的函数自有语法,例如ggplot2,dplpr等

8.R包如何使用--获取R包帮助

(1)快速查看函数帮助文档

函数和R包_第22张图片

  • ?sd
  • help('sd')

(2)找R包介绍页面(直接搜)

函数和R包_第23张图片

(3)Vignettes:browseVignettes("stringr")

函数和R包_第24张图片

(4)少数R包有cheatsheets

RStudio Cheatsheets - RStudio

函数和R包_第25张图片

补充:列出一个包里都有那些函数或数据

函数和R包_第26张图片

ls("package:stringr")

R语言里的符号

函数和R包_第27张图片

; #把多句代码写在同一行(R语言是逐行跑代码的)

认清函数和数据

函数(括号前)

函数和R包_第28张图片

形式参数(函数中可省略的)

函数和R包_第29张图片

实际参数(括号内的)

函数和R包_第30张图片

数据框或矩阵: [,]取子集

函数和R包_第31张图片

列表 :eset [[]]取子集

函数和R包_第32张图片

文件名(以字符串形式出现,并且只能以能够识别字符型参数的函数的参数出现)

函数和R包_第33张图片

包 :library里

函数和R包_第34张图片

你可能感兴趣的:(R,r语言,开发语言)