12得票3回答
在R中将引用对象转换为字符串

我一直在使用dplyr的quo表达式:library(dplyr) library(ggplot2) thing <- quo(clarity) diamonds %>% select(!!thing) print(paste("looking at", thing)) [...

9得票1回答
在被 `magrittr` 管道调用的函数中获取计算为“点”(`.`)的表达式

我有一个函数x_expression(),它会打印传递给参数x的表达式。 pacman::p_load(magrittr, rlang) x_expression <- function(x) { print(enquo(x)) } y <- 1 x_expressio...

7得票1回答
如何在一个包中使用rlang运算符?

我正在编写一个使用tidyverse函数的软件包,也就是使用非标准评估的函数,比如dplyr::filter: setMethod("filter_by_id", signature(x = "studies", id = "character"), ...

13得票2回答
dplyr 0.7.0 中的 tidyeval 打包。

前言 我经常在我的包中使用dplyr。在0.7.0之前,我使用下划线版本的dplyr动词来避免在R CMD CHECK期间出现NOTE。例如,代码: x <- tibble::tibble(v = 1:3, w = 2) y <- dplyr::filter(x, v >...

12得票4回答
“在顶层无法使用 `!!!`”是什么意思,如何解决? (注意:这是一个提问标题,不需要回答问题。)

我正在尝试创建一个使用ggplot2创建棒棒糖图的函数。我想将所有参数传递到geom_point()中的aes()中,但是我想从传递到geom_segment()中的aes()中排除size参数(如果您查看下面a()的输出,很明显为什么)。因此,我使用rlang::enquos()捕获...,...

18得票4回答
将列名作为字符串传递给group_by和summarize函数

从dplyr 0.7版本开始,以下划线结尾的方法(如summarize_ group_by_)已经被弃用,因为我们应该使用quosures。 参见: https://cran.r-project.org/web/packages/dplyr/vignettes/programming.htm...

11得票1回答
全局变量“.”没有可见的绑定。

我目前正在使用 devtools 开发一个 R 软件包。我们在函数中使用 tidyverse 的 %>%,以及相关的 purrr 和 dplyr 软件包。 其中一项函数编辑后如下: #' Print `cust_modl` object #' #' @param x A `cust_...

19得票2回答
dplyr重命名 - 错误:`new_name` = old_name必须是符号或字符串,而不是公式。

我试图使用dplyr::rename()来重命名一列,但是R返回了这个错误,我在网上找不到任何解决方法。 Error: `new_name` = old_name must be a symbol or a string, not formula 以下是一个包含两列的数据框,可以用来复现这...

19得票4回答
自定义管道以消除警告消息

与这个问题相关。我想要构建一个自定义的管道%W>%,可以使得一次操作中的警告被忽略。 library(magrittr) data.frame(a= c(1,-1)) %W>% mutate(a=sqrt(a)) %>% cos 将等同于: w <- optio...

8得票3回答
在dplyr::funs的命名参数中,我可以引用其他参数的名称吗?

考虑以下内容: library(tidyverse) df <- tibble(x = rnorm(100), y = rnorm(100, 10, 2), z = x * y) df %>% mutate_all(funs(avg = mean(.), dev = sd(...