我一直在努力理解整洁评估或如何在整洁环境中使用变量,但似乎始终无法完全掌握。 例如,我正在尝试使用变量映射来使用ggplot。以下是基本的R版本: library(ggplot2) var1 = "wt" var2 = "mpg" ggplot(mtcars, aes(x = get(var...
我知道如何制作支持使用 dplyr::enquo(variable) 对无引号函数参数 'variable' 进行准引用(quasi-quotation)的函数,或者需要对参数进行引用(quote)的函数,可以使用 rlang::sym("variable")。有没有一种简单的方法可以使函数支...
我可以从文档中看到,rlang::enquo() 和 rlang::quo() 在不同的上下文中使用。因此,我最近在函数声明中使用了 rlang::ensym()(见下文)。然而,在另一个SE函数调用中包含时,我得到了一个意外的错误,我想这与惰性评估有关(如果我在 f_enysm() 中使用 ...
我在 dplyr 0.7 中找不到替代即将被弃用的 mutate_ 函数的方法。 mutate_ 函数在我的使用场景中非常有用:我将许多指令(以字符串格式)存储在数据库中(如果需要,可以进行过滤),并将这些指令应用于一个或多个数据框。 例如: dplyr::tibble(test = "...
我有一个函数x_expression(),它会打印传递给参数x的表达式。 pacman::p_load(magrittr, rlang) x_expression <- function(x) { print(enquo(x)) } y <- 1 x_expressio...
我是一个新手,正在尝试编写通用函数,其中一个我目前遇到的问题是为分类变量编写多个筛选条件。这是我目前正在使用的代码: create_expr <- function(name, val){ if(!is.null(val)) val <- paste0("c('"...
本文介绍了新的整洁求值(tidy evaluation)方法,详见此文。文章举了几个例子,展示了这种非标准求值(NSE)风格的使用。 library(tidyverse) # Example 1 -------------------------- max_by <- functio...
我正在构建一个函数,使用 {{ }}(花括号内再加一个花括号)。 我希望用户能够将多个变量传递到同一个 {{ }}, 但我不确定是否可以使用 {{ }}来实现这一点。我找不到任何示例来展示如何做到这一点。 您能告诉我它是否可行,如果是的话,请帮我使下面的最小重现示例工作? library...