2016-01-09 76 views
4

我正在經歷一些ggplot2的代碼,我偶然發現(實際上編譯器偶然發現它)%||%運算符。我認爲它是某種「邏輯或」功能,看似與參數有關,但不知何故它並未在我的環境中定義。我已經將ggplot2擁有的所有依賴包括在內(plyr,scales,reshape2,digest,MASS,gtable)與library聲明中,但它沒有幫助。什麼是%||%運算符(在ggplot2中使用)以及它在哪裏定義?

?%||%??%||%來自R-studio並沒有幫助,也沒有使用SO搜索和Google甚至Bing。實際上,我認爲大多數搜索服務都拒絕搜索這些內容,這使得找到這些運營商確實很困難。

現在不知道該去哪裏看看,因爲缺少對包裝作者有更好的處理時間的問題 - 尤其是這些包裝作者。

那麼它在哪裏,以及我應該在哪裏找到它?我真的想對這些事情自給自足。

+0

也許是這一個http://www.inside-r.org/node/382731或這一個http://www.inside-r.org/packages/cran/falsy/docs/or?可能是第一次,因爲它來自Hadley創建的包。 – Molx

+0

我會upvote作爲一個答案,如果你發佈它。查看「內部 - r」是我沒有想過的。 –

+0

我不知道爲什麼有人低估了這一點。有任何想法嗎?對我來說似乎是一個合法的問題。 –

回答

4

您最初的做法是好的,一個額外的伎倆將反引號添加到您的查詢:

R> ?`%||%` 

purrr描述它帶來了爲空默認幫助頁面「這綴函數使

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

你可以在這裏找到的定義:它容易與默認值」

在使用中更換空值https://github.com/hadley/ggplot2/blob/master/R/utilities.r#L10-L12

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

這是一個非常不錯的捷徑。你會在Hadley的許多包裹中找到它。

+0

這當然是真正發生的事情,但我沒有看到我沒有閱讀更多的代碼就無法找到它。 –

+0

順便說一句關於擴展ggplot2的博客 –

相關問題