{{}}
和 !!
的两种使用方法都是在 tidy evaluation 中使用的特殊符号。
{{}}
是用来插入一个表达式的,并将其计算结果插入到函数的参数中。例如,假设我们有一个名为 mean()
的函数,要求输入一个向量,并计算其平均值。我们可以使用 {{}}
来计算平均值,然后将结果作为参数传递给函数,如下所示:
my_vector <- c(1, 2, 3, 4)
mean(my_vector) # 计算 my_vector 的平均值
# 使用 {{}} 来计算平均值,并将结果作为参数传递给 mean()
mean({{mean(my_vector)}})
!!
是用来插入一个表达式,并将其直接插入到函数中,而不进行计算。例如,假设我们有一个名为 plot()
的函数,要求输入一个向量,并绘制一个散点图。我们可以使用 !!
来直接将向量插入到函数中,而不需要计算它的值,如下所示:
my_vector <- c(1, 2, 3, 4)
# 使用 !! 来将 my_vector 插入到 plot() 函数中
plot(!!my_vector)
总的来说,{{}}
是用来计算表达式的值,并将结果作为参数传递给函数,而 !!
是用来直接将表达式插入到函数中。
by ChatGPT