无法在eval(expr,envir,enclos)中使用magrittr错误管道:找不到函数“%,%”

时间:2014-10-08 16:25:15

标签: r magrittr

我正在使用magrittr来使用新的管道功能,虽然我可以使用%>%,但我不能使用%,%。我在

的答案中尝试了最底层的例子

What is the difference between %>% and %,% in magrittr?

但我收到错误Error in eval(expr, envir, enclos) : could not find function "%,%" 能够使用此功能的人可以粘贴源代码,以便我可以

`%,% <- function(...

不知。 我正在尝试使用带有多个参数的粘贴函数,例如我想要替换

todaysDate <- as.numeric(paste(str_sub(Sys.time(),1,4),str_sub(Sys.time(),6,7),str_sub(Sys.time(),9,10),sep=''))

str_sub(Sys.time(),1,4) %,% str_sub(Sys.time(),6,7) %,% str_sub(Sys.time(),9,10) %>%
paste(sep='') %>% 
as.numeric()
Error in eval(expr, envir, enclos) : could not find function "%,%"

但我必须做

paste(str_sub(Sys.time(),1,4),str_sub(Sys.time(),6,7),str_sub(Sys.time(),9,10),sep='') %>%
as.numeric()
[1] 20141008

任何帮助? (这只是一个示例函数。我知道paste(sep='')可以替换为paste0()等。)

2 个答案:

答案 0 :(得分:2)

%,%defined in June,版本为1.1.0 magrittr,而当前的CRAN版本为1.0。1(5月最后一次更新)。

可以说,在github上安装软件包的最简单方法是使用devtools

library(devtools)
install_github("smbache/magrittr")

答案 1 :(得分:1)

%,%运营商从未进入CRAN版本,因为我们决定采用更好的解决方案。现在%>%将创建一个函数,如果最左边的左边是点占位符:

trigger <- . %>% sin %>% cos %>% tan

现在可以在CRAN的v1.5中使用。