Khám phá bộ dữ liệu

Lập trình hàm nâng cao với purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

Bộ dữ liệu

rstudioconf: danh sách 5055 tweet

length(rstudioconf)

length(rstudioconf[[1]])
5055

31
library(purrr)
vec_depth(rstudioconf)
4

Nguồn: ThinkR-open/datasets

Lập trình hàm nâng cao với purrr

JSON - Đầu ra API điển hình

JSON == danh sách lồng nhau

{
    "menu": {
        "id": "file",
        "value": "File",
        "popup": {
            "menuitem": [
                { "value": "New", "onclick": "CreateNewDoc" },
                { "value": "Open", "onclick": "OpenDoc" },
                { "value": "Close", "onclick": "CloseDoc" }
            ]
        }
    }
}
Lập trình hàm nâng cao với purrr

Ôn lại predicate

Bạn đã thấy:

  • map_*()

  • discard()

  • keep()

Hàm chức năng dạng điều kiện (predicate):

  • Nhận một phần tử và một predicate
  • Áp dụng predicate lên phần tử
Lập trình hàm nâng cao với purrr

keep() & discard()

keep() giữ các phần tử thỏa điều kiện:

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

discard() loại các phần tử thỏa điều kiện:

discard(1:10, ~ .x < 5)
5  6  7  8  9 10
Lập trình hàm nâng cao với purrr

Cùng luyện tập nào!

Lập trình hàm nâng cao với purrr

Preparing Video For Download...