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代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值