dplyr :: n函数如何工作?

时间:2016-12-30 13:28:04

标签: r dplyr

我很好奇n中的dplyr函数是如何编程的。评估n env中的dplyr时,我得到的就是:

function () 
{
    stop("This function should not be called directly")
}
<environment: namespace:dplyr>

也许这是一个愚蠢的问题但是,它定义在哪里?如何调用其他一些函数?它隐藏在哪个环境中?

感谢您的帮助

1 个答案:

答案 0 :(得分:6)

据我了解,dplyr使用混合评估。这意味着它将评估C ++中表达式的某些部分以及R中的其他部分。n()是C ++始终处理的函数之一。这就是为什么函数在R中没有直接执行任何操作,除了返回错误,因为函数永远不会被R评估。

可以找到相关的C++代码on github