rlang相关内容
考虑这个简单的例子 testdf 1 2 1 2 2 2 然后我有另一个Tibble,它包含我要提供给map2 的参数 map
..
与Pass a list of lists of unquoted character parameters to an apply/map/pmap call相关。 我有一个如下所示的函数: causal_med_so
..
我正在编写一个使用tidyverse函数的包,即使用非标准求值的包,例如dplyr::filter: setMethod("filter_by_id", signature(x = "studies", id = "character"), definition = function(x, id) { study_id
..
我在使用 dplyr 重命名函数中的列时遇到困难.我已经找到了关于非标准评估和 enquo 使用的有用帖子(例如,http://dplyr.tidyverse.org/articles/programming.html 和 在自定义 dplyr 函数中更改结果变量的名称).最终目标是使用函数来汇总每个组,然后将列重命名为比原始变量名称更有意义的名称. 这是一个简单的例子,除了被注释掉的行.
..
我在 dplyr 0.7 中找不到替换 mutate_ 函数的方法,该函数将被弃用. mutate_ 函数在我的用例中很有用:我在数据库(字符串格式)中存储了许多指令(如果需要可以过滤)并将这些指令应用于一个或多个数据帧. 例如: dplyr::tibble(test = "test@test") %>%dplyr::mutate_(.dots = list("test2" = "s
..
我一直在尝试将 mutate_at 与 coalesce 结合起来,以防动态生成列名. 在我的示例中只有五列,但在实际数据中还有更多(并非所有列都应包含在 coalesce 步骤中). 示例 DF: data_example
..
使用旧的 select_() 函数,我可以将命名向量传递给 select 并立即更改位置和列名称: my_data 我尝试使用 quosures 和 splicing 做类似的事情——选择列效果很好,但向量的名称(因此同时重命名列)似乎被忽略了.以下两个返回数据帧的列名为 bar 和 foo,但不返回 newbar 和 newfoo:> move_stuff2
..
我想了解如何将表示表达式的字符串传递给 dplyr,以便字符串中提到的变量被评估为数据帧中列上的表达式.关于这个主题的 主要小插图涵盖了传递 quosures,根本不讨论字符串. 很明显,在表示表达式时,quosures 比字符串更安全、更清晰,因此当可以使用 quosures 代替时,我们当然应该避免使用字符串.但是,在使用 R 生态系统之外的工具(例如 javascript 或 YAML
..
dplyr/rlang: parse_expr 带有多个表达式 例如,如果我想解析一些字符串以进行变异,我可以 e1 = "vs + am"mtcars %>% mutate(!!parse_expr(e1)) 但是当我想解析任何带有特殊字符(如“,")的文本时,它会给我一个错误, e2 = "vs + am , am +vs"mtcars %>% mutate(!!parse_exp
..
dplyr 0.7 的发布包括对使用 dplyr 编程的重大改革.我仔细阅读了这份文档,我正在努力了解它将如何影响我对 dplyr 的使用. 这是我在使用 dplyr 构建报告和聚合函数时使用的常用习惯用法: my_report %group_by_(.dots=grouping_vars)%>%总结(x_mean
..
我想在 dplyr 的函数中使用变量名作为字符串.请看下面的例子: df 我很乐意以任何方式做到这一点,并且非常乐意使用易于阅读的 dplyr 语法. 解决方案 在较新的版本中,我们可以使用我们可以创建引用的变量然后取消引用(UQ 或 !!) 用于评估 var
..
我对如何将函数参数传递给 dplyr 和 ggplot 代码感到困惑.我正在使用最新版本的 dplyr 和 ggplot2这是我生成条形图的代码(清晰度与平均价格) diamond.plot% group_by(!!组)%>%总结(价格=平均值(!!公制))%>%ggplot(aes(x=!! group,y=price))+geom_bar(stat='身份')}钻石.plot(钻石,组=“清
..
让我们考虑一个典型的 deparse(substitute( R call: f1 结果是 [1] "varX" 这是我们期望和想要的. 然后,麻烦来了,我尝试使用 ... 参数获得类似的行为,即 f2 毫不奇怪,这不起作用: f2(u=varU,x=varX,y=varY)[1] "\"vx\"" ### 错了!我想要“varX" 我尝试使用不同的解决方案组合来获得预期
..
我想围绕 html_node 创建一个能够读取 CSS 和 XPATH 参数的包装器.我想创建一个带引号的表达式,可以提供给 html_node 并在现场进行评估.我想出了如何分别为 css 和 xpath 创建路径参数,但是当我将此表达式提供给 html_node 时,它不起作用.为什么不呢? page_parser
..
我正在尝试做一些与 这里. 本质上,我需要将一个命名列表传递给一个函数,并将该命名列表作为它的参数提供给另一个函数. 如果我们点击那个链接,他们就可以通过 mutate 来实现,我可以复制它: df 但是如果我尝试用任何其他函数来做它,它就会失败.说,如果我尝试使用打印,(第一个参数是 x,所以我传递了一个带有 x 的命名列表): print(x="你好")[1] “你好"fo
..
我正在尝试使用 rlang 编写我的第一个函数,但在修复以下错误时遇到了一些麻烦. 我已经阅读了 vignette,但没有看到我正在尝试的很好的例子要做. library(babynames)图书馆(tidyverse)name_graph %选择(年份,道具)%>%gg
..
我在 RConf 上看到了 Hadley 的演讲,他提到使用双括号在 tidy evals 中调用变量. 我搜索了谷歌,但找不到任何关于何时使用它们的信息. dplyr 中双括号的用例是什么? 解决方案 {{}} (curly-curly) 有很多应用.它被称为元编程,用于编写函数.例如,考虑这个例子: 库(dplyr)图书馆(rlang)mtcars %>% group_b
..
我想将一个不带引号的变量名 x 传递给一个 left_join 函数.我期望的输出与我运行时相同: left_join(mtcars, mtcars, by = c('mpg' = 'mpg')) 我正在尝试: ff
..
我想使用 dplyr 编程语法动态输入变量名,但是,正如许多人所描述的那样,这可能会令人困惑. 我玩过 quo/enquo 的各种组合!!等无济于事.这是我的代码的最简单形式 library(tidyverse)df
..
我刚刚遇到了“拥抱运算符"{{ }} 在 tidyverse 风格指南. 拥抱运算符 {{ }} 在 R 中有什么作用? 解决方案 它叫做 curly-curly 运算符(参见?"{{}}"). 在传递必须在其他上下文中进行评估之前就地替换的参数时,这很有用. 看这个简单的例子(虽然有点尴尬,因为我们可以在这里调用函数时简单地引用“cyl"): library(dply
..