%.%(dplyr)和%>;%之间的差异(马格里特)

%.%(dplyr)和%>;%之间的差异(马格里特),r,pipe,dplyr,magrittr,R,Pipe,Dplyr,Magrittr,dplyr包引入了%.%操作符,将左侧作为函数的参数传递到右侧,类似于*NIX管道。magrittr包是一个更轻量级的包,它的存在只是为了定义类似管道的操作符 然而,一个使用%.%,另一个使用%>% 两者之间有什么区别吗?即使在dplyr代码中,我也可以使用%%>%%吗?或者这会导致细微的错误吗? 在检查代码时,它们在早期采取了非常不同的路径,因此简单的眼球比较会表明它们是不同的。在网上搜索文档时,我没有找到任何文档,也没有在文档中找到任何内容。查看当前文件中的第一项: dplyr现在从magr

dplyr
包引入了
%.%
操作符,将左侧作为函数的参数传递到右侧,类似于*NIX管道。
magrittr
包是一个更轻量级的包,它的存在只是为了定义类似管道的操作符

然而,一个使用
%.%
,另一个使用
%>%

两者之间有什么区别吗?即使在
dplyr
代码中,我也可以使用
%%>%%
吗?或者这会导致细微的错误吗?


在检查代码时,它们在早期采取了非常不同的路径,因此简单的眼球比较会表明它们是不同的。在网上搜索文档时,我没有找到任何文档,也没有在文档中找到任何内容。

查看当前文件中的第一项:

dplyr现在从magrittr(#330)导入
%>%
。我建议你使用 这将取代
%.%
,因为它更易于键入(因为您可以按住 按下shift键)并更灵活

差异包括

  • 您可以使用
    作为左侧的占位符,例如

    iris %>% plot(Sepal.Length ~ Sepal.Width, data = .)
    
  • %%>%
    尊重
    (rhs)
    ,例如

    1:10 %>% (call("sum"))
    1:10 %>% (function(x) x^2 + 2*x) 
    
    为了一个更有用的 例如,请参见

  • 为了 单参数函数调用时,可以省略参数:

    "2014-05-18" %>% as.Date
    

更新:这里的评论中隐藏着可能的答案:但现在我可以看到这些信息,并且(可能?)不会招致rtfm“惩罚”?SOF是fuzzy的更好工具(“我甚至不知道该概念的确切术语是什么…)文档搜索我认为这应该是新的被接受的答案,因为另一个在这一点上或多或少是过时的。