Contenidos
Crear funciones en r
llamar a una función en r
Si está leyendo este libro, probablemente ya ha creado muchas funciones en R y sabe cómo utilizarlas para reducir la duplicación en su código. En este capítulo, aprenderá a convertir ese conocimiento informal y práctico en una comprensión más rigurosa y teórica. Y aunque verá algunos trucos y técnicas interesantes a lo largo del camino, tenga en cuenta que lo que aprenderá aquí será importante para entender los temas más avanzados que se tratan más adelante en el libro.
Mientras que los formales y el cuerpo se especifican explícitamente cuando creas una función, el entorno se especifica implícitamente, basándose en el lugar donde has definido la función. El entorno de la función siempre existe, pero sólo se imprime cuando la función no está definida en el entorno global.
Dibujaré las funciones como en el siguiente diagrama. El punto negro de la izquierda es el entorno. Los dos bloques de la derecha son los argumentos de la función. No dibujaré el cuerpo, porque suele ser grande, y no ayuda a entender la forma de la función.
funciones definidas por el usuario en r
R tiene varias funciones incorporadas. Pero a veces es necesario crear sus propias funciones para un propósito específico. Esta lección explica cómo crear tales funciones definidas por el usuario en la programación en R. También explicaremos cómo utilizar esas funciones en las sentencias de R y en otras funciones de R.
Funciones definidas por el usuarioEn la programación de R, las funciones definidas por el usuario son funciones creadas por el usuario, a diferencia de las funciones incorporadas incluidas en R. La función mean(), por ejemplo, es una función incorporada, que calcula la media de un conjunto de valores. Si usted necesita una determinada funcionalidad, que puede ser reutilizada, que no está fácilmente disponible en R, entonces usted puede crearla por su cuenta.
funciones incorporadas en r
Obviamente, podríamos haber cortado y pegado el código de cat(“¡Hola, mundo! \N -“) tres veces para conseguir el mismo efecto, pero entonces no estaríamos programando, ¿verdad? Además, sería muy poco amable por tu parte dar tu código a otra persona y obligarla a cortar y pegar el código tantas veces como necesite para ver “¡Hola, mundo!”.
Por último, la función anterior no devuelve nada. Sólo imprime “¡Hola, mundo!” en la consola un número de veces y luego sale. Pero a menudo es útil si una función devuelve algo que tal vez puede ser alimentado en otra sección de código.
En la función anterior, no tuvimos que indicar nada especial para que la función devolviera el número de caracteres. En R, el valor de retorno de una función es siempre la última expresión que se evalúa. Como la variable chars es la última expresión que se evalúa en esta función, ésta se convierte en el valor de retorno de la función.
Podemos modificar este comportamiento estableciendo un valor por defecto para el argumento num. Cualquier argumento de la función puede tener un valor por defecto, si se desea especificarlo. A veces, los valores de los argumentos rara vez se modifican (excepto en casos especiales) y tiene sentido establecer un valor por defecto para ese argumento. Esto libera al usuario de tener que especificar el valor de ese argumento cada vez que se llama a la función.
tipos de funciones en r
Compara esto con la función elipse, que dibuja un círculo. La función elipse no da ningún valor, por lo que no tendría sentido intentar almacenarlo en una variable. Como la función elipse no devuelve nada, su tipo de retorno es void.
Es importante tener en cuenta los tipos de retorno cuando escribas tus propias funciones. La mayoría de las funciones que vas a escribir harán algo en lugar de darte un valor, así que verás muchos tipos de retorno void.
Esta función tiene un tipo de retorno void (lo que significa que hace algo en lugar de dar un valor), y toma tres parámetros: circleX, circleY, y circleDiameter. El cuerpo de la función cambia el color de relleno a rojo y luego utiliza los parámetros para dibujar un círculo.
Esto le permite tratar una tarea que toma múltiples pasos (como cambiar el color de relleno a rojo y dibujar un círculo) como un solo paso. Esto será muy útil a medida que su código se complica.
Ambas funciones tienen un tipo de retorno void, lo que significa que hacen algo en lugar de devolver un valor. La función setup se encarga de decirle a Processing qué tamaño debe tener la ventana y de establecer el color de fondo, y la función draw dibuja la flor.