问题标签 [magrittr]

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.

0 投票
3 回答
1676 浏览

r - 如何在 R 中将逻辑运算符(!)与 magrittr 一起使用

我正在获取一个值列表并尝试使用 magrittr 找到那些不是 NA 的值。这是一个简单的例子:

这会产生正确的结果:

当我将 not 运算符!放在 前面时is.na,出现错误:

给我

Error in FUN(left, right) : operations are possible only for numeric, logical or complex types

经过多次试验,我偶然发现了这个,它有效:

我的问题是是否有不同的方法来做到这一点。包中还有其他别名选项,但我没有看到它们的任何示例。一是“不”。也许我应该改用它?

我意识到我已经在一定程度上回答了我的问题,但我想知道是否可以做到这一点而不必%>% !.在最后求助。

0 投票
2 回答
9903 浏览

r - rollmean 与 dplyr 和 magrittr

给定以下数据:

我想计算由列 o 定义的每组 u 的滚动平均值(包装动物园)。滚动平均值的顺序由 t 设置。滚动平均值应作为新列添加到 data.frame。

我想使用 magrittr 和 dplyr。我试过了

但这行不通。是否可以使用 magrittr 和 dplyr 来完成,还是我必须逐步完成?o 和 t 的值在我的真实数据中是可变的。

如何填写前两行?

0 投票
3 回答
5600 浏览

r - 如何使用具有多参数功能的 magrittr 管道?

magrittr对于单参数函数,将“标准”R 代码转换为管道样式是相当简单的。

变成

对于多参数函数,我不清楚最好的方法是什么。有两种情况。

首先,附加参数是常量的情况。在这种情况下,您可以创建一个匿名函数来更改常量值。例如:

变成

其次,需要多个向量参数的情况。在这种情况下,您可以将输入组合到一个列表中,并创建一个对列表元素进行操作的匿名函数。

变成

在这两种情况下,我的解决方案似乎都很笨拙,以至于我觉得我错过了更好的方法来做到这一点。我应该如何将多个参数传递给函数?

0 投票
5 回答
10550 浏览

r - 如何将管道链(magrittr)的结果提供给对象

这是一个相当简单的问题。但我找不到每个 google/stackexchange 的答案并查看 magrittr 的文档。您如何提供通过 %>% 连接的函数链的结果以创建向量?

我看到大多数人做的是:

但是还有一个解决方案,我可以将结果通过管道链接到一个对象,可能是别名或类似的东西,有点像这样:

这将有助于将所有代码保持在相同的逻辑中,将结果“向下传递”。

0 投票
1 回答
289 浏览

r - Easily finding and replacing every match in a nested list

Take this object as an example:

It is a nested list. I want to find every element that matches quote(.).

For example, magrittr's solution matches only the first level of the call:

But I wanted to find every "." in an arbitrary nested list. In this particular case this would be these two dots:

And then these dots should be replaced:

How would you do this?

0 投票
2 回答
866 浏览

r - can't pipe with magrittr eval(expr,envir,enclos)中的错误:找不到函数“%,%”

我正在使用 magrittr 来使用新的管道功能,虽然我可以使用 %>%,但我不能使用 %,%。我尝试了答案中的底部示例

magrittr 中的 %>% 和 %,% 有什么区别?

但我得到错误Error in eval(expr, envir, enclos) : could not find function "%,%" 可以让这个功能工作的人只需粘贴源代码,这样我就可以

不知何故。我试图只使用带有多个参数的粘贴函数,例如我想替换

但相反我必须做

有什么帮助吗?(这只是一个示例函数。我知道paste(sep='')可以替换为paste0()等)

0 投票
1 回答
1272 浏览

r - magrittr 包中的管道不适用于函数 load()

似乎magrittr%>%包中的功能不适用于该功能。这是我重现我的问题的最小示例。load()

我不明白为什么管道不起作用load()。感谢您的任何建议。

0 投票
3 回答
15033 浏览

r - 如何使用 magrittr %>% 管道从列表中提取/子集元素?

自从在包中引入%>%操作符magrittr(并且在 中使用dplyr),我已经开始在自己的工作中使用它。

然而,一个简单的操作让我难住了。具体来说,这是从列表中提取(或子集)元素。

一个例子:在基础 RI 中将使用$,[[[从列表中提取一个元素:

我可以使用%>%管道实现相同的目的:

或者

然而,这感觉像是一个混乱、笨拙的解决方案。

有没有更优雅、更规范的方法来使用%>%管道从列表中提取元素?

注意:我不想要任何涉及 的解决方案dplyr,原因很简单,我希望该解决方案适用于任何 R 对象,包括列表和矩阵,而不仅仅是数据框。

0 投票
6 回答
452155 浏览

r - %>% 函数在 R 中是什么意思?

我已经在dplyrrvest%>%等一些软件包中看到了(百分比大于百分比)函数的使用。这是什么意思?它是在 R 中编写闭包块的一种方法吗?

0 投票
3 回答
1974 浏览

r - 带有 magrittr tee 运算符的多个 ggplots

我试图弄清楚为什么当我将数据传递给 ggplot 命令时 tee 运算符 %T>% 不起作用。

这工作正常

这也很好用

但是当我使用 tee 运算符时,如下所示,它会抛出“错误:ggplot2 不知道如何处理类原型环境的数据”。

谁能解释为什么最后一段代码不起作用?