Giới thiệu lập trình với purrr

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

Colin Fay

Data Scientist & R Hacker at ThinkR

$whoami

Giảng viên Colin Fay uống cà phê

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

Khám phá purrr

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

Khóa học này sẽ học gì?

khung cơ bản của map

Nguồn: Charlotte Wickham — A introduction to purrr

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

Trang Open Data Portal của Saint-Malo, Pháp

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

purrr cơ bản - ôn tập (Phần 1)

map(.x, .f, ...)

  • với từng phần tử của .x
  • thực hiện .f(.x, ...)
  • trả về một list
res <- map(visit_2015, sum) 
class(res)
"list"

map_dbl(.x, .f, ...)

  • với từng phần tử của .x
  • thực hiện .f(.x, ...)
  • trả về một numeric vector
res <- map_dbl(visit_2015, sum) 
class(res)
"numeric"
Lập trình hàm nâng cao với purrr

purrr cơ bản - ôn tập (Phần 2)

map2(.x, .y, .f, ...)

  • với từng phần tử của .x và .y
  • thực hiện .f(.x, .y, ...)
  • trả về một list
res <- map2(visit_2015,
            visit_2016,
            sum)
class(res)
"list"

map2_dbl(.x, .f, ...)

  • với từng phần tử của .x và .y
  • thực hiện .f(.x, .y, ...)
  • trả về một numeric vector
res <- map2_dbl(visit_2015,
                visit_2016,
                sum)
class(res)
"numeric"
Lập trình hàm nâng cao với purrr

purrr cơ bản - ôn tập (Phần 3)

pmap(.l, .f, ...)

  • với từng sublist của .l
  • thực hiện f(..1, ..2, ..3, [etc], ...)
  • trả về một list
l <- list(visit_2014,
          visit_2015,
          visit_2016)
res  <- pmap(l, sum)
class(res)
"list"

pmap_dbl(.l, .f, ...)

  • với từng sublist của .l
  • thực hiện f(..1, ..2, ..3, [etc], ...)
  • trả về một numeric vector
l <- list(visit_2014,
          visit_2015,
          visit_2016)
res <- pmap_dbl(l, sum)
class(res)
"numeric"
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...