【发布时间】:2017-03-06 04:09:32
【问题描述】:
有人可以向我解释为什么以下两个指令有不同的输出:
library(plyr)
library(dplyr)
ll <- list(a = mtcars, b = mtcars)
# using '.' as a function parameter
llply(ll, function(.) . %>% group_by(cyl) %>% summarise(min = min(mpg)))
# using 'd' as function parameter
llply(ll, function(d) d %>% group_by(cyl) %>% summarise(min = min(mpg)))
前一种情况显然甚至没有被评估(我认为拼写错误summarise:llply(ll, function(.) . %>% group_by(cyl) %>% sumamrise(min = min(mpg))) 会不会抛出错误)。
所以这与范围规则和评估事物的位置有关,但我真的很想了解发生了什么,以及为什么会发生这种情况?我经常在匿名函数中使用. 作为参数,看到结果我很困惑。
长话短说,为什么. 不能与%>% 一起使用?
【问题讨论】: