Intermediate Functional Programming with purrr
Colin Fay
Data Scientist & R Hacker at ThinkR
Prefill a function:
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
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)
partial()
& compose()
rounded_mean <- compose(
partial(round, digits = 2),
partial(mean, na.rm = TRUE)
)
rounded_mean(airquality$Ozone)
42.13
read_html()
html_nodes()
html_text()
html_attr()
Intermediate Functional Programming with purrr