Predicates

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

Colin Fay

Data Scientist & R Hacker at ThinkR

Predicate क्या है?

Predicates: TRUE या FALSE लौटाएँ

  • शर्तों की जाँच करें
  • base R में मौजूद: is.numeric(), %in%, is.character(), आदि

 

is.numeric(10)
TRUE
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

Predicate functional क्या है?

Predicate functionals:

  • एक एलिमेंट और एक predicate लेते हैं
  • predicate को उस एलिमेंट पर लगाते हैं

 

keep(airquality, is.numeric)
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

every(): क्या _हर_ एलिमेंट शर्त पूरी करता है?

# क्या visits2016 के सभी एलिमेंट numeric हैं?
every(visits2016, is.numeric)

# क्या हर महीने का mean 1000 से ऊपर है? every(visits2016, ~ mean(.x) > 1000)
TRUE

FALSE

some(): क्या कुछ एलिमेंट शर्त पूरी करते हैं?

# क्या कुछ महीनों का mean 1000 से ऊपर है?
some(visits2016, ~ mean(.x) > 1000)
TRUE
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

detect_index()

# 1000 से ऊपर mean वाला पहला एलिमेंट कौन सा है?
detect_index(visits2016, ~ mean(.x) > 1000)
1
# 1000 से ऊपर mean वाला आखिरी एलिमेंट कौन सा है?
detect_index(visits2016, ~ mean(.x) > 1000, .right = TRUE)
11
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

has_element() और detect()

# 1000 से ऊपर mean वाले पहले एलिमेंट का मान क्या है?
detect(visits2016, ~ mean(.x) > 1000, .right = TRUE)
[1] 1289  782 1432 1171 1094 1015  582  946 1191 1393 1307 1125 1267 1345 1066  810  583 
[18] 733  795  766  873  656 1018  645  949  938 1118 1106 1134 1126
# क्या किसी एक महीने का mean 981 है?
visits2016_mean <- map(visits2016, mean)
has_element(visits2016_mean,981)
TRUE
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

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

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

Preparing Video For Download...