Mappers परिचय

इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

purrr में .f

एक function:

  • .x के हर element के लिए
  • .f(.x, ...) करें

एक संख्या $n$:

  • .x के हर element के लिए
  • .x[$n$] करें

एक character vector $z$

  • .x के हर element के लिए
  • .x[$z$] करें
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

Function के रूप में .f

जब function हो, तो .f हो सकता है:

  • एक classical function
my_fun <- function(x) {
  round(mean(x))
}
map_dbl(visit_2014, my_fun)
 [1]  5526  6546  6097  7760
 [5]  7025  7162 10484  8256
 [9]  6558  7686  5723  5053

 

  • एक lambda (या anonymous) function
map_dbl(visit_2014, function(x) {
  round(mean(x))
})
 [1]  5526  6546  6097  7760
 [5]  7025  7162 10484  8256
 [9]  6558  7686  5723  5053
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

Mappers: भाग 1

mapper: one-sided formula से anonymous function

# एक parameter के साथ 
map_dbl(visits2017, ~ round(mean(.x)))

# इसके समकक्ष 
map_dbl(visits2017, ~ round(mean(.)))

# इसके समकक्ष 
map_dbl(visits2017, ~ round(mean(..1)))
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

Mappers: भाग 2

mapper: one-sided formula से anonymous function

# दो parameters के साथ
map2(visits2016, visits2017, ~ .x + .y)

# इसके समकक्ष 
map2(visits2016, visits2017, ~ ..1 + ..2)
# दो से अधिक parameters के साथ
pmap(list, ~ ..1 + ..2 + ..3)
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

as_mapper()

as_mapper(): lambda function से mapper objects बनाएँ

# Classical function 
round_mean <- function(x){
    round(mean(x))
}
# Mapper के रूप में
round_mean <- as_mapper(~ round(mean(.x))))
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

Mappers क्यों?

Mappers होते हैं:

  • संक्षिप्त

  • पढ़ने में आसान

  • पुन:उपयोग योग्य

Mappers बनाएँ

इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

अभ्यास करते हैं!

इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

Preparing Video For Download...