9得票2回答
dplyr 0.7中已弃用的mutate_的等效替代方案是什么?

我在 dplyr 0.7 中找不到替代即将被弃用的 mutate_ 函数的方法。 mutate_ 函数在我的使用场景中非常有用:我将许多指令(以字符串格式)存储在数据库中(如果需要,可以进行过滤),并将这些指令应用于一个或多个数据框。 例如: dplyr::tibble(test = "...

12得票2回答
如何使用dplyr和tidy evaluation编程地对数据框进行过滤?

假设我想以编程方式过滤starwars数据框。这里有一个简单的示例,让我可以根据母星和物种进行过滤:library(tidyverse) # a function that allows the user to supply filters filter_starwars <- fun...

15得票4回答
如何在使用tidyr和ggplot2的函数中使用dplyr的enquo和quo_name?

library(dplyr) #Devel version, soon-to-be-released 0.6.0 library(tidyr) library(ggplot2) library(forcats) #for gss_cat data 我正试图编写一个函数,将即将发布的dply...

19得票7回答
已废弃,自rlang 0.3.0和mutate_impl起不再使用。

我正尝试使用以下函数,但每次尝试时都会收到下面的错误提示。我尝试安装旧版本的rlang,因为它在另一个R Studio上运行,但我无法这样做。看起来这个错误是由0.3.0版本引起的。如果有关于如何修复此错误的建议,将不胜感激。details2 <- details %>% ...

7得票2回答
如何在 `mutate` 中的 `map` 内部取消引用 (`!!`)。

我正在使用map2和mutate修改foo中的嵌套数据帧,并且我想根据foo$name在每个嵌套数据帧中命名一个变量。我不确定在这里使用非标准评估(NSE)/tidyeval去引用的正确语法。 library(tidyverse) foo <- mtcars %>% gro...

10得票2回答
Tidy Eval与Base或Get() vs Sym() vs As.symbol()的比较

我一直在努力理解整洁评估或如何在整洁环境中使用变量,但似乎始终无法完全掌握。 例如,我正在尝试使用变量映射来使用ggplot。以下是基本的R版本: library(ggplot2) var1 = "wt" var2 = "mpg" ggplot(mtcars, aes(x = get(var...

25得票1回答
在R语言中,特别是在!!sym("x")的上下文中,!!运算符是什么意思?

在R语言中,“!!”是一种解引用(unquote)的语法,它可以在代码中动态地插入变量或表达式的值。 在这个例子中,!!sym("x") 的作用是将字符串"x"转化为符号对象(symbol object)并获取它的值。如果不使用“!!”,则a将被分配为符号对象本身而不是它的值。在其他函数中,例...

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

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

14得票3回答
为什么在R中只有`case_when`会给出不同的结果?

当我使用 dplyr::case_when 而非 if 时,我发现下面的行为,参考了这篇文章。如果第二个分支的输出是一个显式字符串,那么它会按预期工作,但如果指定了 x 本身,则结果会改变。为什么只有 case_when 给出不同的结果? x <- character(0) dply...

8得票2回答
使用dplyr进行函数式编程

我希望能够使用dplyr中的非标准评估方式更有效/优雅地传递多个参数给group-by函数。我不想使用...运算符,而是要单独指定函数。 我的具体用例是一个函数,它接受一个数据框并创建一个具有更简单语法的ggplot对象。以下是我想要使用我的函数自动化的代码示例: # create dat...