Yordayıcılar

purrr ile Orta Düzey Fonksiyonel Programlama

Colin Fay

Data Scientist & R Hacker at ThinkR

Yordayıcı nedir?

Yordayıcılar: TRUE veya FALSE döndürür

  • Koşulları sınar
  • Base R'de vardır: is.numeric(), %in%, is.character() vb.

 

is.numeric(10)
TRUE
purrr ile Orta Düzey Fonksiyonel Programlama

Yordayıcı işlevcili nedir?

Yordayıcı işlevcilleri:

  • Bir öğe ve bir yordayıcı alır
  • Yordayıcıyı öğeye uygular

 

keep(airquality, is.numeric)
purrr ile Orta Düzey Fonksiyonel Programlama

every(): her öğe koşulu sağlıyor mu?

# visits2016'nın tüm öğeleri sayısal mı?
every(visits2016, is.numeric)

# Her ayın ortalaması 1000'in üzerinde mi? every(visits2016, ~ mean(.x) > 1000)
TRUE

FALSE

some(): bazı öğeler koşulu sağlıyor mu?

# Bazı ayların ortalaması 1000'in üzerinde mi?
some(visits2016, ~ mean(.x) > 1000)
TRUE
purrr ile Orta Düzey Fonksiyonel Programlama

detect_index()

# Ortalaması 1000'in üzerinde olan ilk öğenin indeksi nedir?
detect_index(visits2016, ~ mean(.x) > 1000)
1
# Ortalaması 1000'in üzerinde olan son öğenin indeksi nedir?
detect_index(visits2016, ~ mean(.x) > 1000, .right = TRUE)
11
purrr ile Orta Düzey Fonksiyonel Programlama

has_element() ve detect()

# Ortalaması 1000'in üzerinde olan ilk öğenin değeri nedir?
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
# Bir ayın ortalaması 981 mi?
visits2016_mean <- map(visits2016, mean)
has_element(visits2016_mean,981)
TRUE
purrr ile Orta Düzey Fonksiyonel Programlama

Hadi pratik yapalım!

purrr ile Orta Düzey Fonksiyonel Programlama

Preparing Video For Download...