语境我想在 R 中使用带有美元符号的非标准评估。 我想用两个参数定制一个 function。 data是输入数据框, var是输入数据框中变量的名称。 返回值是变量名对应的值。 我可以用fun1做到这一点。 问题有什么方法可以使用非标准评估和美元符号( $ )来执行fun1的 function。 ...
语境我想在 R 中使用带有美元符号的非标准评估。 我想用两个参数定制一个 function。 data是输入数据框, var是输入数据框中变量的名称。 返回值是变量名对应的值。 我可以用fun1做到这一点。 问题有什么方法可以使用非标准评估和美元符号( $ )来执行fun1的 function。 ...
我正在尝试定义一个在 R 中返回图形对象的函数。这个想法是,我可以使用for循环或lapply函数多次使用不同的参数调用这个函数,然后在gridExtra::grid.arrange绘制grobs列表. gridExtra::grid.arrange . 然而,我还没有走到那一步。 我在将参数识别为 ...
我想将一个带引号的字符串传递给一个调用ggplot2的函数。 这很有效,但v3.1.0文档提倡quasiquotation和NSE aes() 。 所有这些功能都是软弃用的。 请使用整齐的评估习语(参见aes()文档中的quasiquotation部分)。 但是aes ...
我试图在 dplyr 中使用尽可能少的代码来制造多个滞后,同时坚持整洁的 eval。 以下标准评估 (SE) 代码有效: 但是,您会注意到最后一行没有使用 tidy eval,而是使用 SE。 关于 funs_ 命令的包信息说由于 tidy eval 它是多余的。 因此,我想知道是否可以使用 t ...
假设我想使用dplyr和标准评估为列的每个值添加1。 我可以 : 但是如果我想使用+作为二元运算符而不是函数呢? 我无法弄清楚如何在一个quosure中用符号写+ 。 在我的大多数尝试中,我尝试使用二元运算符+来使用非数字参数(例如符号)时出错。 使用已弃用的mutate ...
我对dplyr函数的参数感到困惑,对标准评估(SE)或非标准评估(NSE)不太清楚。 我只想将变量传递给dplyr :: arrange(),但失败了。 但是,传递给dplyr :: select()即可。 我使用SE版本搜索了一个解决方案,它可以正常工作: 为什么dplyr ...
我试图使用dplyr包向mutate()调用提供包含多个列名的向量。 下面的可重复示例: 我能够弄清楚如何使用“一个变量”版本,但不知道如何将其扩展到多个变量? 如何扩展上述方法以便我可以使用two_names向量? 使用as.name只需要一个对象,因此它不起作用。 ...
我正在尝试编写一个函数来执行,并且sdf_pivot()创建一个Spark DataFrame,其列名称包括原始变量或列的名称。 这是var1的预期结果,而无需编写函数: 在我的其中一个函数版本(当然不起作用)下面,我也尝试使用quote和deparse ,但是我对mutate_ ...
我想制作一个将tidyr :: complete应用于R data.frame的所有非数字列的函数。 零值应插入到新值行中。 我知道这需要标准的评估解决方案,但到目前为止我还没有成功。 到目前为止,这是我所拥有的: 关于如何进行这项工作的任何想法? ...
我正在尝试基于变量值进行过滤,并且尝试了filter_,点和引号的多种组合无济于事。 例如,我有一个 和一个数据框boo 我想过滤一个名为boo的数据框,它看起来像迭代 我怀疑我会听说不使用for循环和R,而是使用group_by(run) ,但是我将数据发送到ig ...
我正在尝试使用mutate做一个简单的条件。 该代码应基于来自同一数据帧的两个变量创建一个称为“性别”的新变量。 我收到以下错误,我不理解。 我想这与SE有关。 但是我对R还不那么熟悉。 mutate_impl(.data,点)中的错误: 参数“ .data”丢失 ...
我正在寻找一种方式来传递一个字符串作为输入filter_我自己的函数内dplyr包功能。 我已经设置了如下数据框: 我正在寻找一种方法来编写一个函数,我可以通过“apple”或“banana”来过滤数据框。 我试过了: 然后传递值: 这会返回一个错误: 我 ...
我正在尝试使用带有dplyr标准评估来计算百分比作为两个分组变量的函数。 问题出在我的mutate_ statement 。 这是一个数据集: 这是我正在使用的代码: 运行代码时,出现错误: setNames(list(interp(quote(n_in_g ...
建议在R-package函数内部的函数调用最好使用标准评估( 请参阅此处 ),尤其是避免utils::globalVariables 。 如果我在dplyr软件包中使用非标准评估,那么对于以下代码段-特别是对于table -命令,标准评估的“翻译”是什么? grp和dep是数据帧my ...
嗨,当我通过lazyeval软件包使用标准评估时,我从dplyr函数获得了不同的结果。 这是如何通过250k行和约230000组来重现接近真实数据的方法。 我想按id1,id2分组,并为每个组的max(datetime)分配行。 当我使用NSE方式时,我得到了230000行 ...
所以在Hadley的高级R书中,有一个使用替换的问题的例子,这里是代码的摘录: 你能看出问题所在吗? condition_call包含表达式条件。 因此,当我们评估condition_call时,它还会计算条件,其值为a> = 4.但是,由于在父环境中没有名为a的对象,因此 ...
我正在尝试使用自己的函数包装dplyr函数。 我有一个数据帧列表,我想用给定的标签修改指定变量的级别(两者都应该是函数的参数)。 这是我到目前为止所尝试的: 但我不能让它有效,我只是不明白为什么......你知道我错过了什么吗? 谢谢。 ...
我想将plyr函数包装在自己的函数中。 我想将对象和传递剪切函数的变量(未引用)传递给函数。 我不知道如何在ddply中使用对象var将其值指定为变量,而不是将“ var”指定为变量。 与dplyr不同,没有plyr函数的标准评估版? 我读到可以使用字符串,但是例如dlply( ...
考虑在函数内部使用ggplot(...) 。 看起来ggplot不能识别i在函数内定义的变量,但是如果它是在全局环境中定义的话,它会识别i 。 这是为什么? 请注意,这给出了预期的结果。 ...