プルルルルの愛称で親しまれるpurrrがついにCRANにリリースされました。(ほんとは「ピュアラー」という発音だった気がします)
けっこうでかいパッケージなので紹介は後日書く(たぶん)として、ちょこちょこメモを書いていきます。
免責事項
私の理解ですが、purrrはあくまで「Functional Programming感を味わうためのパッケージ」だと思います。
餅は餅屋、listはrlistです。listを手早く処理したい人はrlistを使いましょう!
map_if
これ便利。条件にマッチするときだけ関数を適用することができる。具体的にはこんな感じ。
list(a = "yes", b = NA, c = "yes") %>% map_if(is.na, ~ return("no")) #> #> $a #> [1] "yes" #> #> $b #> [1] "no" #> #> $c #> [1] "yes"
さらに、return
を使わなくても、単に値だけを返すラムダ関数は~ ("値")
のように書ける。
map_if(is.na, ~ ("no"))