gpt4 book ai didi

r - 为什么以下代码尝试从 magrittr 符号中别名 %>% 失败?

转载 作者:行者123 更新时间:2023-12-04 11:13:22 25 4
gpt4 key购买 nike

为什么下面的代码不起作用?

require(dplyr)
`%test%`<- `%>%`
mtcars %test% head
#Error in pipes[[i]] : subscript out of bounds

以下什么时候工作?
a <- function(x) x^2
a(4)
#[1] 16
b <- a
b(4)
#[1] 16

为什么会发生这种情况,需要做什么才能使其发挥作用?

最佳答案

正如alexis_laz在上面指出的那样,它与magrittr:::is_pipe有关。明确检查 %>%在您的表达式中并没有找到它,随后的逻辑在 %>% 中分崩离析因为那个。

但是为什么%>%需要明确寻找(自己或他人)%>%在通话中?

如果你看源码——第一个%>%实际上扩展了完整的调用并构造了没有更多管道的表达式和 eval 的那个表达式。所以实际%>%操作符只在管道中被调用一次,并且 a %>% b %>% c在第一次调用中直接转换为 c(b(a))然后被评估(而不是首先转换为 b(a) %>% c )。

对我来说这是否能节省效率并不明显,所以可能是更基本的事情,比如跟踪 .一次做所有事情时更容易。

关于r - 为什么以下代码尝试从 magrittr 符号中别名 %>% 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33555426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com