什么是%||%运算符(在ggplot2中使用)以及它在何处定义?

时间:2016-01-09 23:34:19

标签: r plot ggplot2

我正在浏览一些ggplot2代码,我偶然发现了(实际上编译器偶然发现了它)%||%运算符。我想它是某种“逻辑 - 或”函数,似乎与参数有关,但不知怎的,它在我的环境中没有定义。我已将ggplot2所拥有的所有依赖项(plyr,scales,reshape2,digest,MASS,gtable)与library语句包含在内,但它没有帮助。

来自R-studio的

?%||%??%||%没有帮助,也没有使用SO搜索和Google甚至Bing。我实际上认为大多数搜索服务只是拒绝搜索这些东西,这使得找到这些运算符真的很困难。

现在还不确定在哪里看,没有找到那些与他们的时间有更好关系的包装作者 - 特别是这些包装作者。

那么它在哪里,我应该在哪里找到它?我真的希望对这些事情自给自足。

2 个答案:

答案 0 :(得分:4)

您的初始方法很好,另外一个技巧是在您的查询中添加反引号:

R> ?`%||%`

其中显示了来自purrr的null-default的帮助页面,将其描述为"此中缀函数可以轻松地将NULL替换为默认值"

使用中:

R> 1 %||% 2
[1] 1
R> NULL %||% 2
[1] 2

答案 1 :(得分:4)

您可以在此处找到定义:https://github.com/hadley/ggplot2/blob/master/R/utilities.r#L10-L12

"%||%" <- function(a, b) {
  if (!is.null(a)) a else b
}

这是一个非常好的捷径。你可以在Hadley的许多包装中找到它。