这行带有管道 %>% 的代码有什么问题?

What is wrong with this line of code with pipe %>%?

我正在尝试 运行。

1:10 %>% replace(`>`(.,4), 999)
Error in replace(`1:10`, . > 4, 999) : object '.' not found

也许我一直在使用 . 错误,所以我去阅读 magrittr 文档。我了解了如何使用 {} 来覆盖传递 . 作为第一个参数。

所以现在我试试

1:10 %>% {replace(., `>`(.,4), 999)}
Error in replace(`1:10`, . > 4, 999) : object '.' not found

不,还是不行。我 运行 {}(第 9 页)

给出的示例代码
1:10 %>% {c(min(.), max(.))}
Error in eval(expr, envir, enclos) : object '.' not found

示例代码甚至对我都不起作用。我做错了什么?

我同意@Akrun 无法重现错误,但是

1:10 %>% replace(.>4,999)

看起来更简单易读。 (这是在 magrittr 版本 1.5 的干净会话中,没有加载其他非基础包,工作区中没有其他任何东西。)

旁注:我认为这是 longer/more 复杂工作流程的一部分。如果您只是将 replace(x,x>4,999) 替换为 x %>% replace(.>4,999) 我不确定我是否明白这一点...