问题标签 [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.
r - 使用 magrittr 和 which
我想用来自 magrittr 的管道重写以下代码:
我直接的方法是:
但这失败了,因为 (first) which:
错误其中(。):“哪个”的参数不合逻辑
我不确定为什么会发生此错误以及为什么管道似乎与管道到其他函数不同,因为“diff > 0”的输出是一个逻辑向量。
在旁注中,坦率地说,是否有办法进行比较
r - 在管道链中捕获对象的“安全状态”
我正在进行一些涉及大量试验和错误的科学实验。我基本上做的是沿着一系列数值方法传递一些对象,每个阶段都有一堆参数,如下所示:
当一切顺利时,我很高兴。但是,每个阶段都可能失败(例如,我修改了源代码并留下了语法错误或方法与我提供的参数集不兼容),因此无论成功的步骤如何,整个链都会停止并且对象会丢失。在这种情况下,我希望将对象保持在其最新的有效状态(我称之为“安全状态”)。我需要它,因为每个阶段都需要相当长的时间来执行。
好吧,自然地,简单的答案是放弃管道范式并采用传统方法:
所以我可以在修复它后立即恢复链条。
但也许有一个选择仍然有管道并保持安全状态?我不是管道的头号粉丝,但我为这项任务所拥有的流程要求它,尽管我描述的不便是一个交易破坏者。
r - 用提取物对向量进行子集
想象一下我有向量,我想删除一个特定的元素。我可以做以下
但如果我想更简洁一点,这个:
不起作用:
没有更惯用magrittr
的方法来做到这一点吗?
r - ggplot2 中的“+”运算符和 magrittr 中的“%>%”运算符有什么区别?
"+"
ggplot2 中的运算符和 magrittr 中的运算符有什么区别"%>%"
?
我被告知它们是相同的,但是如果我们考虑以下脚本。
r - 如何在 R 中的函数内部使用 dplyr/magrittr 的管道?
我正在尝试编写一个函数,该函数将数据框和函数名称作为参数。当我尝试使用标准 R 语法编写函数时,我可以使用@hadley 在http://adv-r.had.co.nz/Computing-on-the-language.htmleval
中的建议获得良好的结果substitute
现在,当我尝试使用%>%
运算符编写相同的函数时,它不起作用:
如何将管道运算符与eval
and结合使用substitute
?这对我来说似乎真的很棘手。
r - R-devel:安装magrittr时“找不到对象'checkCompilerOptions'”
我已经按照本指南在 Ubuntu 上安装了 R-devel 。当尝试安装 magrittr 时,install.packages("magrittr")
我得到了这个:
引用此错误的另一个 stackoverflow 问题对我没有帮助。任何人都可以帮忙吗?
我真正想做的是安装Gviz包的最新开发版本。为此,我必须使用 bioconductor 和 R 的开发版本。在 Gviz 的依赖关系树中是 magrittr。
我的会话信息():
r - 如何设置使用管道 %>% 运算符传递的数据框的行名?
我有一个正在dcast
使用reshape2
包的数据框,我想删除第一列并将其改为数据框的行名。
原始数据帧,之前dcast
:
pivot
dcast 表的函数:
之后dcast
,包裹在我的pivot
函数中:
我希望 ID_full 成为行名,并停止作为列存在,在dcasting
. 我可以在几行中执行此操作,每次都替换数据框,但我想使用运算符完成所有%>%
操作。
我能想到的最好的尝试会涉及到这样的事情,但显然它不起作用:
我会很感激任何建议......这种滋扰让我发疯!
更新:
感谢您的回答:
这个表达式很好用:
r - 为什么 ifelse 与 %>% 一起使用时只能接收一个参数
通常 ifelse 需要 3 个参数(测试,是,否):
仅提供测试参数会导致错误(因为没有默认的 yes 或 no 字段):
在 magrittr 中使用时,ifelse 在仅接收测试参数时工作正常:
谁能解释为什么第三段代码可以正常工作,但第二段代码会出错?
r - 使用 magrittr 将变量名称通过管道传输到 rm
我试图在循环中按名称删除变量时卡住了,发现不可能(?)用 Magrittr 管道做到这一点:
有什么我应该避免在 Magrittr 做的事情,或者实际上有什么方法可以解决吗?
r - 重命名管道中的多个变量
由 dplyr 和 magrittr 等软件包启用的管道隐喻非常有用,并且可以使您的代码在 R 中可读(一项艰巨的任务!)
如何制作一个以将数据框中的所有变量重命名为预定列表而结束的管道?
这是我尝试过的。首先,要测试的简单样本数据:
这不起作用:
我无法通过阅读rename
. 我的另一个尝试通过使用花括号来定义代码块来避免错误,但重命名实际上并没有发生: