admin管理员组

文章数量:1794759

R语言查看函数源代码source code

R语言查看函数源代码source code

function是有多个语句组成,完成一个特定的任务。R语言里面有很多内嵌的functions,用户也可以自己定义。比如说sort, summary, help都是R里面常用的function。

我们如何查看一个R 函数function的源代码呢? 在R里面,想查看一个function的源代码,直接输入function的名字,执行就可以。 我们以sort为例子。

> sort function (x, decreasing = FALSE, ...) { if (!is.logical(decreasing) || length(decreasing) != 1L) stop("'decreasing' must be a length-1 logical vector.\\nDid you intend to set 'partial'?") UseMethod("sort") } <bytecode: 0x0000000014d14e48> <environment: namespace:base>

我们可以看到sort的参数和一些R语句。那这个UseMethod("sort")又是什么意思?这个告诉我们sort是一个泛型函数,不同的classes有不同的实现。 我们接着看一下这个泛型函数的所有方法。我们可以看到sort.POSIXlt内部用的是order函数。

> methods(sort) [1] sort.bibentry* sort.default sort.POSIXlt see '?methods' for accessing help and source code > sort.POSIXlt function (x, decreasing = FALSE, na.last = NA, ...) x[order(as.POSIXct(x), na.last = na.last, decreasing = decreasing)] <bytecode: 0x000000000566f2d8> <environment: namespace:base>

在函数里面可以看到的<bytecode:>表示代码是编译过得,可能是C,C++或者fortran代码。

本文标签: 源代码函数语言codesource