这行带有管道 %>% 的代码有什么问题?
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)
我不确定我是否明白这一点...
我正在尝试 运行。
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)
我不确定我是否明白这一点...