本文是R语言中的函数源代码解析系列的第一篇文章。
本文将逐句解释fivenum
函数的源码。之所以选取fivenum
函数,是因为这个函数比较简单,结构并不复杂。太复杂我都要看晕了,^_^。以后会解析一些比较复杂的函数源代码,当然以 本人目前的水平,只能解释纯粹的R代码,更深层次的C或者其他的语言的代码,还是够呛。
好了,言归正传。直接进入主题吧…
首先看看fivenum
函数是干嘛的。以下内容来自帮助文档。
fivenum
: Returns Tukey’s five number summary (minimum, lower-hinge, median, upper-hinge, maximum) for the input data.
上面写的很清楚了,返回Tukey五数统计量。
下面看看fivenum
的用法:
|
|
- x: 数值型,可以包含
NA
和+Inf
,-Inf
- na.rm: 逻辑型,若为真, 在计算之前删去所有的缺失值(NA)和NaN(Not a number)
举个例子
|
|
|
|
|
|
|
|
通过这两个例子,很容弄清楚fivenum
的用法。下面正式进入本文的核心部分,逐句解释fivenum
函数的源码。
|
|
|
|
|
|
上面出现了floor
和ceiling
两个函数,这里解释一下。这两个函数都是取整函数,floor
函数是向下取整,ceiling
函数则是向上取整。给个例子吧…
|
|
|
|
|
|
|
|
之前很少看函数的源代码,现在发现要把R语言学好,学深入,学习R语言里面函数的写法是非常有必要的。很多时候自己不知道该怎么写,如何写出更有效率的函数,这时候看看R中(包括可怕的CRAN库)有没有实现类似功能的函数,这时候写起来就更加顺畅了。当然,推荐新手直接用别人造的轮子,稳定性,效率基本都有保证。至于老手,可以在别人基础上加以改进,或者自己造轮子。哈哈,我就是个新手,在这里大放厥词的谈老手,不要被笑话啊…