R Base: Con paciencia y corajeUna introducción práctica al diseño y uso de funciones sin depender de paquetes
R en Buenos Aires
Una función tiene un nombre, argumentos y un cuerpo.
nombre: como ejecutamos la función
argumentos: inputs que necesita la funcion
operaciones: es el cuerpo de la funcion. Lo que se va a ejecutar.
NA.NA por el promedio de los valores no faltantes.
Más claro y reutilizable.
Prevenir errores inesperados.
Mejorar la robustez del código.
Comunicar al usuario qué está mal.
missing() se puede utilizar para comprobar si se ha especificado un valor como argumento de una función.
Argumentos que toman un valor predeterminado si no se especifican.
Permiten que la función sea más flexible y fácil de usar.
Ejemplo: dos formas de imputación
return()• Devuelve un valor explícito
• Mejora claridad del código
• No siempre es obligatorio (pero si recomendable!!)
¿Qué valor devuelve la función?
¿Qué valor queda guardado en el objeto a?
missing() se puede utilizar para comprobar si se ha especificado un valor como argumento de una función.
El argumento … es un argumento especial útil para pasar un número desconocido de argumentos a otra función.
• Confirma que la función hace lo esperado
• Detecta errores antes de usarlas en producción
¿Por qué importa la eficiencia?
Algunas funciones se ejecutan miles de veces o sobre de bases de datos muy grandes. La velocidad de ejecución puede afectar el rendimiento del análisis.
Documentar bien la función.
Evitar las variables globales. Todos los inputs deberian ser parametros de la función.
Usar return().
Ser consistente con el tipo del output.
Las funciones deben hacer una sola cosa y ser lo mas simples posible. Es mejor hacer multiples funciones que una gran función dificil de entender.
No cargar paquetes en las funciones, usar package::functions.
