データセットの探索

purrr で学ぶ中級関数型プログラミング

Colin Fay

Data Scientist & R Hacker at ThinkR

データセット

rstudioconf:5055件のツイートのリスト

length(rstudioconf)

length(rstudioconf[[1]])
5055

31
library(purrr)
vec_depth(rstudioconf)
4

ソース:ThinkR-open/datasets

purrr で学ぶ中級関数型プログラミング

JSON - APIの典型的な出力

JSON == ネストされたリスト

{
    "menu": {
        "id": "file",
        "value": "File",
        "popup": {
            "menuitem": [
                { "value": "New", "onclick": "CreateNewDoc" },
                { "value": "Open", "onclick": "OpenDoc" },
                { "value": "Close", "onclick": "CloseDoc" }
            ]
        }
    }
}
purrr で学ぶ中級関数型プログラミング

述語のおさらい

学習済み:

  • map_*()

  • discard()

  • keep()

述語関数型:

  • 要素と述語を受け取る
  • 述語を要素に適用する
purrr で学ぶ中級関数型プログラミング

keep() と discard()

条件を満たす要素をkeep()する:

keep(1:10, ~ .x < 5)
1 2 3 4

条件を満たす要素をdiscard()する:

discard(1:10, ~ .x < 5)
5  6  7  8  9 10
purrr で学ぶ中級関数型プログラミング

練習しましょう!

purrr で学ぶ中級関数型プログラミング

Preparing Video For Download...