问题标签 [nse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 输入 dplyr::filter() 作为函数的参数
输入 dplyr::filter 到函数
如何创建一个以任何 dplyr::filter 作为输入并返回满足过滤器的行数的函数?
我已经尝试过这样的事情,但它不起作用:
在这里,我尝试将过滤器作为字符串输入:
给出错误:
该问题与Using dplyr filter() in programming类似但不是重复的,因为当前问题试图改变整个过滤器,而不仅仅是静态过滤器的输入。
r - 在 dplyr::mutate/transmute 中混合常量和变量列名
我正在尝试使用 dplyr 更改数据框列的类。目标列的名称包含在变量中
经过一番摆弄后,我设法使用标准 R 子集实现了我的目标:
但我怀疑引用目标列的方式不太复杂,这与其他“dplyr”表达式更一致。我已经尝试使用“使用 dplyr 编程”小插图中的信息来解决这个问题,但没有运气。谁能指出我正确的方向?
r - 在 dplyr::bind_cols 中使用点运算符
我看到 dplyr 出现了一些意外行为。我有一个特定的用例,但我会设置一个虚拟问题来说明我的观点。为什么这行得通,
但不是这个,
谢谢您的帮助。
r - 使用带有传入参数名称的“mutate”来创建新列
我想添加一个新的数据列并使用我传入的参数命名该列。我习惯于使用 dplyr 的 mutate 逐行和其他直接硬编码名称的方法,但我不确定从哪里开始。我将如何使用 mutate 或类似的简单/优雅的东西?
可重现的例子:
假设main是由以下定义的数据框
而fieldname是一个字符串参数,传入了“name4”,new是c(6,5,4)
我想将fieldname和new附加到main以用于最终数据帧
但下面的功能还不能那样工作。
r - 将多个参数传递给 ddply
我正在尝试创建一个将列表作为输入并返回汇总数据框的函数。但是,在尝试了多种方法后,我无法将列表传递给聚合函数。
到目前为止,我有以下内容,但它失败了。
这工作的地方:
有人会知道将函数列表传递给的方法ddply
吗?或者另一种方法来实现聚合一组动态变量的相同目标。
r - 使用 dplyr::case_when 进行整洁的评估编程
我尝试编写一个简单的函数来包装 dplyr::case_when() 函数。我在https://cran.r-project.org/web/packages/dplyr/vignettes/programming.html上阅读了dplyr文档的编程,但无法弄清楚它如何与 case_when() 函数一起使用。
我有以下数据:
以及以下列表:
然后我想写一个像这样的函数:
不幸的是category_fn(data,cat)
,在这种情况下给出了评估错误。我想获得与通过以下方式获得的输出相同的输出:
这样做的方法是什么?
r - do.call() 和整洁的评估
试图do.call()
在 tidy 评估的背景下工作:
有什么区别:
和:
它们都给出了相同的错误:
我使用 进入函数browser()
,检查了参数,在expr(mutate(df, category = case_when(!!! cat1)))
那里运行(如http://rpubs.com/lionel-/programming-draft中建议的通用调试策略),在两种情况下都有相同的输出:mutate(df, category = case_when(~(item_name == "apple" ~ "fruit"), ~(item_name == "bmw" ~ "car")))
.
我也尝试调整envir
or.env
参数无济于事。
我的理解是它可能与不同的quosure环境有关,但environment(cat1[[1]])
也是相同的(<environment: R_GlobalEnv>
)。
注意:
这在某种程度上是我试图回答的 dplyr::case_when 的 Tidy 评估编程的后续。
r - 如何使用 dplyr 评估具有非标准评估的构造字符串?
我已经阅读了几本关于编程的指南dplyr进行编程的指南,但我仍然对如何解决使用非标准评估 (NSE) 评估构造/连接字符串的问题感到困惑。我意识到有比使用 NSE 更好的方法来解决这个例子,但我想学习如何去做。
这是我想要的结果,但希望mutate()
构建变量:
这是我的第一次尝试,尝试使用字符串:
这是我的第二次尝试,尝试使用 quosures:
这是我的第三次尝试,尝试使用 quosures 和:=
运算符:
r - 带有向量输入的 Dplyr 条件列 ifelse
我正在尝试使用 dplyr 的新 NSE 语言方法来创建条件变异,使用向量输入。我遇到问题的地方是将列设置为等于自身,请参见下面的 mwe:
现在,使用以下内容:
将ColToChange
值设置为Name
,而不是返回其原始值。因此,我试图使用上面的语法来实现这一点:
但不是Name
,而是向量。
r - 如何在r中的多重比较中将字符串变量传递给multcomp :: glht函数
我正在做单向方差分析和事后多重比较。以 mtcars 数据集为例:
但是,我不想将变量硬编码为 cyl。所以我创建了一个变量 var='cyl':
我收到错误消息:
我认为问题来自在 mcp 函数中传递 var 。我怎样才能解决这个问题?我试过: as.name(var) , eval(quote(var))... 但没有运气.. 非常感谢您的帮助。