{{
The embrace operator {{
is used to create functions that call
other data-masking functions. It transports a
data-masked argument (an argument that can refer to columns of a
data frame) from one function to another.
my_mean <- function(data, var) {
dplyr::summarise(data, mean = mean({{ var }}))
}
{{
combines enquo()
and !!
in one
step. The snippet above is equivalent to:
my_mean <- function(data, var) {
var <- enquo(var)
dplyr::summarise(data, mean = mean(!!var))
}
What is data-masking and why do I need {{?
Data mask programming patterns