0

我试着跑。

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

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

所以现在我尝试

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

示例代码甚至不适合我。我究竟做错了什么?

4

1 回答 1

1

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

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

看起来更简单,更容易阅读。(这是在magrittr1.5 版的干净会话中,没有加载其他非基础包,工作区中没有其他内容。)

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

于 2015-08-12T20:31:13.567 回答