Wstępne wypełnianie funkcji

Funkcyjne programowanie średnio zaawansowane z purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

Użycie partial()

Wstępne wypełnianie funkcji:

mean_na_rm <- partial(mean, na.rm = TRUE)
mean_na_rm( c(1,2,3,NA) )
2
lm_iris <- partial(lm, data = iris)
lm_iris(Sepal.Length ~ Sepal.Width)
Call:
lm(formula = ..1, data = iris)
Coefficients:
(Intercept)  Sepal.Width  
     6.5262      -0.2234
Funkcyjne programowanie średnio zaawansowane z purrr

Wstępne wypełnianie funkcji mean()

mean(airquality$Ozone, na.rm = TRUE)
mean(mtcars$mpg, na.rm = TRUE)
mean(iris$Petal.Width, na.rm = TRUE)
mean_na_rm <- partial(mean, na.rm = TRUE)
mean_na_rm(airquality$Ozone)
mean_na_rm(mtcars$mpg)
mean_na_rm(iris$Sepal.Length)
Funkcyjne programowanie średnio zaawansowane z purrr

Użycie partial() i compose()

partial() i compose()

rounded_mean <- compose(
  partial(round, digits = 2), 
  partial(mean, na.rm = TRUE)
)
rounded_mean(airquality$Ozone)
42.13
Funkcyjne programowanie średnio zaawansowane z purrr

rvest

  • read_html()

  • html_nodes()

  • html_text()

  • html_attr()

Naklejka heksagonalna rvest

Funkcyjne programowanie średnio zaawansowane z purrr

Czas na ćwiczenia!

Funkcyjne programowanie średnio zaawansowane z purrr

Preparing Video For Download...