dplyr的混合处理程序

时间:2015-05-30 00:00:37

标签: r dplyr rcpp

我正在为dplyr编写混合处理程序,我想知道有关dplyr.cpp中代码的两件事:

  • 选项na.rm用作模板,不作为参数传递给类Sd,Var,Sum等。原因是什么?
  • <modal show='createCustomer' create-new-customer='createNewCustomer'></modal> line 54)的含义是什么?

1 个答案:

答案 0 :(得分:2)

虽然我不是代码的作者,但这是我对你的问题答案的最佳猜测:

  

选项na.rm用作模板,不作为参数传递给类Sd,Var,Sum等。原因是什么?

可能对于运行时效率 - dplyr尝试在可能的情况下将计算从运行时转移到编译时。这通常通过模板使用来完成。

  

TAG(arg3)== R_NaRmSymbol(第54行)是什么意思?

R pairlist中的节点具有TAG属性,通常是指正式的名称。因此,dplyr使用它来查找名称为na.rm的正式形式。 R在src/main/names.c中缓存了许多常用符号 - 你应该在那里看到NaRmSymbol

因此,有效地,代码会找到与正式na.rm相关联的实际参数值,并根据其真实性来做事。