Lập trình hàm nâng cao với purrr
Colin Fay
Data Scientist & R Hacker at ThinkR
rstudioconf: danh sách 5055 tweet
length(rstudioconf)length(rstudioconf[[1]])
505531
library(purrr)
vec_depth(rstudioconf)
4
Nguồn: ThinkR-open/datasets
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" }
]
}
}
}
Bạn đã thấy:
map_*()
discard()
keep()
Hàm chức năng dạng điều kiện (predicate):
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