问题标签 [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 投票
2 回答
875 浏览

r - dplyr + magrittr + qplot = 没有情节?

我想使用qplot(ggplot2) 然后转发数据magrittr

这有效:

这会产生一个错误:

而那些只产生汇总统计数据:

问题是什么?我已经找到了这个解决方案,但它没有帮助,正如您从附加的代码中看到的那样。

0 投票
3 回答
9827 浏览

r - dplyr 中的链算术运算符与 %>% 管道

我想了解为什么在dplyrormagrittr包中,更具体地说,链接函数%>%在基本运算符+-*/

链接获取前一个语句的输出并将其作为下一个语句的第一个参数提供:

因此,这怎么行不通

我还发现以下语法适用于加法/减法,但不适用于乘法或除法。为什么这样?

那么我是否应该编写一个匿名函数甚至*2对我的 data.frame 进行操作?

谢谢,我在其他 SO 问题中找不到答案。

0 投票
2 回答
5563 浏览

r - 具有子组连接的 dplyr

下面的问题可以看成是“两列reshape to wide”,有几种方法可以用经典的方式解决,从base::reshape(恐怖)到reshape2. 对于两组情况,简单的子组连接效果最好。

我可以重新制定管道框架内的连接dplyr吗?下面的例子有点傻,但我需要加入更长的管道链,我不想破坏它。

0 投票
1 回答
1232 浏览

r - 如何在 dplyr/magrittr 管道中使用 base::rowSums() (%>%)

我正在尝试使用管道回答每行中有多少个字段小于 5 。它以以下形式工作(没有管道):

但是,尝试使用管道提出相同的问题是行不通的:

Edit1: 用户“docendo discimus”的这个解决方法解决了这个问题:

Edit2:我更喜欢 'docendo discimus 的解决方法,因为它避免了嵌套括号:

虽然以下解决方案(AFAICS)需要嵌套括号才能工作(另外我不知道如何在数据帧上使新列发生突变)

0 投票
2 回答
607 浏览

r - 如何解释“。” 作为变量而不是使用 magrittr 的正向管道运算符的占位符

我想magrittr为下面的嵌套函数调用创建一个管道链,它产生完全相同的输出。

以下返回包含列my_names和的数据框Freq

使用magrittr下面的管道链返回一个包含列的数据框.Freq

添加%>% dplyr::rename(my_names = .)不起作用,因为.它被解释为占位符而不是列名。

为了产生与嵌套函数调用相同的输出,我需要使用一个额外的函数调用:test_df <- dplyr::rename(test_df, my_names = .)

有没有办法告诉在后续调用%>%中解释.为变量名而不是占位符?

0 投票
2 回答
807 浏览

r - magrittr 链中的行号子集

我正在使用 grep/gsub 等试验 magrittr 链

这很好用

下一步是使用行号返回一个子集。我试过这个,但它不起作用。

这可以做到吗?

0 投票
4 回答
20953 浏览

r - R: use magrittr pipe operator in self written package

I would like to use the pipe-operator %>% introduced in the magrittr package in a package I wrote myself to chain dplyr data transformations. magrittr is listed as Import in the DESCRIPTION file. After loading my own package and testing the function which uses the pipe-operator I get the following error message:

Error in functionname(parameter, : could not find function "%>%"

Changing %>% to magrittr::%>% in the function source code does not help either because the package cannot be built anymore.

0 投票
3 回答
56263 浏览

r - 将管道运算符 %>% 与 colnames()<- 等替换函数一起使用

我怎样才能使用管道操作符来管道到替换功能colnames()<-呢?

这是我正在尝试做的事情:

但理想情况下,它会是这样的:

有没有办法做到这一点,而无需每次都编写专业函数?

这里的答案是一个开始,但不完全是我的问题:Chaining算术运算符 in dplyr

0 投票
3 回答
196 浏览

r - magrittr 和日期对象

我只是注意到,当我将两个日期相减,然后尝试使用 magrittr ( ) 转换为数值时,%>%我得到了一个日期,就好像我只是将日期差异包装在as.numeric()我得到天数差异一样数值。请参见下面的简单示例:

虽然这在这里没什么大不了的,但我想了解为什么会发生这种情况以便能够预测其他(对我来说是意想不到的)行为。

0 投票
1 回答
3734 浏览

r - 如何使用 magrittr 管道进行乘法运算

在 R 中制作表格的传统方法:

返回

为了使用管道复制它magrittr,我尝试过:

到目前为止效果很好

但是任何尝试执行下一部分,其中我将比例转换为百分比,然后四舍五入,都会导致错误。例如:

都会导致错误。我错过了什么?