rlang相关内容

在 dplyr 0.7+ 函数中重命名

我在使用 dplyr 重命名函数中的列时遇到困难.我已经找到了关于非标准评估和 enquo 使用的有用帖子(例如,http://dplyr.tidyverse.org/articles/programming.html 和 在自定义 dplyr 函数中更改结果变量的名称).最终目标是使用函数来汇总每个组,然后将列重命名为比原始变量名称更有意义的名称. 这是一个简单的例子,除了被注释掉的行. ..
发布时间:2021-12-23 12:57:45 其他开发

dplyr 0.7 等效于已弃用的 mutate_

我在 dplyr 0.7 中找不到替换 mutate_ 函数的方法,该函数将被弃用. mutate_ 函数在我的用例中很有用:我在数据库(字符串格式)中存储了许多指令(如果需要可以过滤)并将这些指令应用于一个或多个数据帧. 例如: dplyr::tibble(test = "test@test") %>%dplyr::mutate_(.dots = list("test2" = "s ..
发布时间:2021-12-23 12:53:00 其他开发

如何使用 quosures 将命名向量传递给 dplyr::select?

使用旧的 select_() 函数,我可以将命名向量传递给 select 并立即更改位置和列名称: my_data 我尝试使用 quosures 和 splicing 做类似的事情——选择列效果很好,但向量的名称(因此同时重命名列)似乎被忽略了.以下两个返回数据帧的列名为 bar 和 foo,但不返回 newbar 和 newfoo:> move_stuff2 ..
发布时间:2021-12-23 12:39:14 其他开发

如何将表示表达式的字符串传递给 dplyr 0.7 动词?

我想了解如何将表示表达式的字符串传递给 dplyr,以便字符串中提到的变量被评估为数据帧中列上的表达式.关于这个主题的 主要小插图涵盖了传递 quosures,根本不讨论字符串. 很明显,在表示表达式时,quosures 比字符串更安全、更清晰,因此当可以使用 quosures 代替时,我们当然应该避免使用字符串.但是,在使用 R 生态系统之外的工具(例如 javascript 或 YAML ..
发布时间:2021-12-23 12:28:33 其他开发

dplyr/rlang: parse_expr 带有多个表达式

dplyr/rlang: parse_expr 带有多个表达式 例如,如果我想解析一些字符串以进行变异,我可以 e1 = "vs + am"mtcars %>% mutate(!!parse_expr(e1)) 但是当我想解析任何带有特殊字符(如“,")的文本时,它会给我一个错误, e2 = "vs + am , am +vs"mtcars %>% mutate(!!parse_exp ..
发布时间:2021-12-23 12:27:29 其他开发

如何参数化 dplyr 0.7 中的函数调用?

dplyr 0.7 的发布包括对使用 dplyr 编程的重大改革.我仔细阅读了这份文档,我正在努力了解它将如何影响我对 dplyr 的使用. 这是我在使用 dplyr 构建报告和聚合函数时使用的常用习惯用法: my_report %group_by_(.dots=grouping_vars)%>%总结(x_mean ..
发布时间:2021-12-23 12:15:39 其他开发

在 dplyr 的函数中使用变量名

我想在 dplyr 的函数中使用变量名作为字符串.请看下面的例子: df 我很乐意以任何方式做到这一点,并且非常乐意使用易于阅读的 dplyr 语法. 解决方案 在较新的版本中,我们可以使用我们可以创建引用的变量然后取消引用(UQ 或 !!) 用于评估 var ..
发布时间:2021-12-23 12:11:34 其他开发

将函数参数传递给 dplyr 和 ggplot

我对如何将函数参数传递给 dplyr 和 ggplot 代码感到困惑.我正在使用最新版本的 dplyr 和 ggplot2这是我生成条形图的代码(清晰度与平均价格) diamond.plot% group_by(!!组)%>%总结(价格=平均值(!!公制))%>%ggplot(aes(x=!! group,y=price))+geom_bar(stat='身份')}钻石.plot(钻石,组=“清 ..
发布时间:2021-12-15 13:05:34 其他开发

解析,用三点参数替换

让我们考虑一个典型的 deparse(substitute( R call: f1 结果是 [1] "varX" 这是我们期望和想要的. 然后,麻烦来了,我尝试使用 ... 参数获得类似的行为,即 f2 毫不奇怪,这不起作用: f2(u=varU,x=varX,y=varY)[1] "\"vx\"" ### 错了!我想要“varX" 我尝试使用不同的解决方案组合来获得预期 ..
发布时间:2021-11-17 05:39:12 其他开发

将命名参数传递给调用非变异函数的函数

我正在尝试做一些与 这里. 本质上,我需要将一个命名列表传递给一个函数,并将该命名列表作为它的参数提供给另一个函数. 如果我们点击那个链接,他们就可以通过 mutate 来实现,我可以复制它: df 但是如果我尝试用任何其他函数来做它,它就会失败.说,如果我尝试使用打印,(第一个参数是 x,所以我传递了一个带有 x 的命名列表): print(x="你好")[1] “你好"fo ..
发布时间:2021-09-07 19:38:47 其他开发

{{}} 双大括号如何在 dplyr 中工作?

我在 RConf 上看到了 Hadley 的演讲,他提到使用双括号在 tidy evals 中调用变量. 我搜索了谷歌,但找不到任何关于何时使用它们的信息. dplyr 中双括号的用例是什么? 解决方案 {{}} (curly-curly) 有很多应用.它被称为元编程,用于编写函数.例如,考虑这个例子: 库(dplyr)图书馆(rlang)mtcars %>% group_b ..
发布时间:2021-09-07 19:36:04 其他开发

什么是“拥抱运算符"?`{{}}`?

我刚刚遇到了“拥抱运算符"{{ }} 在 tidyverse 风格指南. 拥抱运算符 {{ }} 在 R 中有什么作用? 解决方案 它叫做 curly-curly 运算符(参见?"{{}}"). 在传递必须在其他上下文中进行评估之前就地替换的参数时,这很有用. 看这个简单的例子(虽然有点尴尬,因为我们可以在这里调用函数时简单地引用“cyl"): library(dply ..
发布时间:2021-09-07 19:34:55 其他开发