dplyr :: n函数如何工作?

Ger*_*ste 6 r dplyr

我很好奇的功能如何ndplyr被编程.ndplyrenv中进行评估时,我得到的是:

function () 
{
    stop("This function should not be called directly")
}
<environment: namespace:dplyr>
Run Code Online (Sandbox Code Playgroud)

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

谢谢你的帮助

Axe*_*man 6

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

相关C++代码可以在github上找到.