【发布时间】:2017-07-13 10:34:49
【问题描述】:
我想知道是否有简洁的方式来处理声明一个匿名函数
假设我想声明function(x){ return (x=='a') },我很想能够,我希望能够做到f <- {.=='a'}
我知道 magrittr 允许你这样做
library(magrittr)
{. %>% `==`(.,'a')} # or even . %>% `==`('a')
{. %>% `==`(.,'a')}('b')
[1] FALSE
同样,如果f = function(x,y,z){return(x+y+z)} 我想要{f(.$x,3,.$z)} 之类的东西
当我有 {...} 时,我为什么需要 {. %>% } 它看起来很虚假
【问题讨论】:
-
你试过了吗?
"a" %>% { . == "a"} -
我要声明一个不一样的函数,你自己试过了吗?
f = {. == 'a'} -
f(.=="a")("b")做你想做的事。 -
@statquant 完成