专栏名称: 生信菜鸟团
生信菜鸟团荣誉归来,让所有想分析生物信息学数据的小伙伴找到归属,你值得拥有!
目录
相关文章推荐
BioArt  ·  Cell Stem Cell | ... ·  11 小时前  
BioArt  ·  Nat Cell Biol | ... ·  昨天  
生物学霸  ·  Cell Res ... ·  昨天  
BioArt  ·  Dev Cell | ... ·  昨天  
51好读  ›  专栏  ›  生信菜鸟团

R语言入门04:函数和参数,帮助文档查看

生信菜鸟团  · 公众号  · 生物  · 2024-10-28 18:29

正文


为了方便大家学习,我已经录制了 配套的视频 ,放在了哔哩哔哩(我的B站账号: 阿越就是我), 免费观看 ,复制以下网址粘贴到浏览器打开即可: https://space.bilibili.com/42460432/channel/collectiondetail?sid=3740949


本期目录:

  • 函数

  • 参数

函数

函数 的英文是 function ,所以函数是用来实现特定功能的、由别人整理好的一段代码,通常一个R包会包含多个函数。这就好比一个手机APP可以做多个事情,比如微信可以用来文字聊天、视频聊天、查看订阅号消息等,甚至还可以看直播。

一个R包里面有多个函数,这些函数也可以实现不同的功能。比如 graphics 包里面的两个函数:

plot(1:10,1:10) # 画图
lines(1:10) # 添加一条线

这里的 plot() 就是一个函数,可以实现画图功能。当你运行 plot(1:10,1:10) 之后,它会为你开辟一片空间用于画图,然后把这个图的框架(4条框以及坐标等)给你画出来,然后把点也给你画上去,这就是这个函数的功能(当然它还有其他功能)。

当你接着运行 lines(1:10) 之后,它会给你画一条线,这就是 lines() 这个函数的功能。

当我们在使用某个手机APP时,肯定是要先打开这个APP,然后才能使用它,R包也是如此, 一定要先加载R包,才能使用R包里的函数

这个 plot() 函数是 graphics 包里面的,这个R包是R语言自带的(有些自带的不需要加载也能使用),不需要额外安装,使用时也不需要加载(即不需要先 library(graphics) ), 自己安装的R包是需要先加载才能使用里面的函数的

比如 ggplot() 函数是属于 ggplot2 这个R包的,这个R包是需要自己安装的,所以在使用前需要先加载才能使用:

# 先加载对应的R包
library(ggplot2)

# 才能使用里面的函数
ggplot()

我经常看到有人把函数当做R包,然后使用 install.packages("") 进行安装,非常错误的做法,比如有一个R包叫 rms ,其中有一个函数叫 lrm ,有的人不明所以,直接使用 install.packages("lrm") ,结果报错:

install.packages("lrm")
将程序包安装入‘C:/Users/liyue/AppData/Local/R/win-library/4.3
(因为‘lib’没有被指定)
Warning in install.packages :
  package ‘lrm’ is not available for this version of R

A version of this package for your version of R might be available elsewhere,
see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages

你要安装的是R包,不是函数,千万要注意,别犯这种低级错误。

参数

每个函数都有特定的 参数 (argument),比如上面的 plot(1:10,1:10) ,其中的 1:10 就是 plot 这个函数的参数,你也可以写成 plot(x = 1:10, y = 1:10)

plot(x = 1:10, y = 1:10)

这也是完整的写法,其中的 x y 被称为形式参数(简称 形参 ), 1:10 被称为实际参数(简称 实参 )。

形参是函数的作者规定的,这个名字如果你写了,就要写对,不能乱写,必须按照人家的规定来,实参是需要你自己提供的。

如果你写了形参的话,可以不用管参数的顺序:

opar <- par(mfrow=c(1,2))
# 先写x或y都不影响
plot(x = c(2,4,6,8,10), y = 1:5)
plot(y = 1:5, x = c(2,4,6,8,10))
par(opar)

形参是可以省略的,但是省略后要按照作者规定的顺序提供实参,不然就会出问题(初学者建议写上形参),比如:

opar <- par(mfrow=c(1,2))
# 不写形参先后顺序有影响,会默认第一个是x,第二个是y
plot(c(2,4,6,8,10), 1:5)
plot(1:5, c(2,4,6,8,10))
par(opar)

这些参数是有要求的,不按照规定写就会报错。比如:

  • 有的参数需要你提供数值型的向量(数据类型会在后面几章介绍)给它,如果你提供的不是数值型向量,那么它就会报错;
  • 有的参数不能有 NA 或者缺失值,如果你提供的数据里有 NA 或者缺失值,那么它肯定会报错。

这个东西是很机械的,不可更改,函数的作者规定的,不按照要求写必然报错!

还有一些参数是有默认值的,如果你没有指定,它就会使用默认值。比如:

?t.test

# 其中的mu = 0, paired = FALSE, var.equal = FALSE, 
# conf.level = 0.95 都是默认值

如何知道每个参数的具体要求及函数的使用方法呢?我们可以直接查看帮助文档。帮助文档是函数的开发者按照一定的要求写的、能够让使用者快速理解函数用法的文档。

绝大多数R语言中的函数都可以通过 ?xxx 或者 help(xxx) 查看函数的帮助文档(自己安装的R包需要先加载),比如:

# 以下两种方法都可以
?lines

# 或者
help("lines")

当你运行上面的代码后,在Rstudio右侧 help 面板中会出现该函数的帮助文档,如下图所示:







请到「今天看啥」查看全文