我想在调用中使用匿名函数summarize_each:
# how to use an anonymous function in dplyr
df_foo = data_frame(x = rnorm(100),
y = rnorm(100))
df_foo %>%
summarize_each(funs(function(bar) sum(bar/10)))
Run Code Online (Sandbox Code Playgroud)
我将如何实现这一目标?显然,在使用它之前命名该函数是有效的.
这是一个使用大量括号的问题,所以一切都得到评估:
df_foo %>%
summarize_each(funs(((function(bar){sum(bar/10)})(.))))
#
# Source: local data frame [1 x 2]
#
# x y
# (dbl) (dbl)
# 1 1.113599 -0.4766853
Run Code Online (Sandbox Code Playgroud)
你需要的地方
.用于指示funs哪个参数粘贴传递给它的数据(看似多余的单参数函数,但多参数函数不是这样;参见?funs更多示例),以及这有点荒谬,但这似乎是最简洁funs可以处理的.如果你看看你要编写什么来评估一个类似的匿名函数,例如,它是有道理的
(function(bar){sum(bar/10)})(df_foo$x)
Run Code Online (Sandbox Code Playgroud)
虽然包裹整个东西的那对是额外的funs.{}如果您愿意,可以使用大括号代替外部对,这可能会产生更多的语法意义.
| 归档时间: |
|
| 查看次数: |
1501 次 |
| 最近记录: |