Programación funcional intermedia con purrr
Colin Fay
Data Scientist & R Hacker at ThinkR
«Para entender los cálculos en R, dos lemas ayudan:
- Todo lo que existe es un objeto.
- Todo lo que ocurre es una llamada a función.» -John Chambers
class(`+`)
"function"
class(`<-`)
"function"
Las funciones pueden
manipularse
guardarse en una variable
ser lambda
guardarse en una lista
ser argumentos de una función
ser devueltas por una función
En una función pura:
la salida solo depende de la entrada
no hay «efectos secundarios»
# La salida depende solo de las entradas
# Sin efectos secundarios
sum(1:10)
55
mean(1:100)
50.5
Funciones impuras:
Dependen del entorno
Tienen «efectos secundarios»
# La salida depende del entorno
Sys.Date()
"2018-10-04"
# Solo efecto secundario
write.csv(iris, "iris.csv")
Programación funcional intermedia con purrr