February 24, 2015

dplyrの暗黒面

> library(dplyr)

> iris %>%

+   summarise_(heikin = "mean(Sepal.Length)")

    heikin

1 5.843333

と実行できるが、

> myfunc <- function(x){

+   mean(x)

+ }

> iris %>%

+   summarise_(heikin = "myfunc(Sepal.Length)")

Error in summarise_impl(.data, dots) : could not find function "myfunc"

は実行出来ない。

> iris %>%

+ summarise_(heikin = as.formula("~myfunc(Sepal.Length)"))

    heikin

1 5.843333

とすれば、実行できた。

© gepuro 2013