Varios argumentos (1)
Como viste en el ejemplo de argumentos opcionales, las funciones pueden tener varios argumentos. Esto ayuda a ampliar la flexibilidad de tu función. Vamos a verlo en acción.
pow <- function(x, power = 2) {
x^power
}
pow(2)
[1] 4
pow(2, power = 3)
[1] 8
En lugar de una función square(), ahora tenemos una versión que funciona con cualquier potencia.
El argumento power es opcional y tiene un valor predeterminado de 2, pero el usuario puede cambiarlo fácilmente. También es un ejemplo de cómo puedes añadir varios argumentos. Fíjate en que los argumentos se separan por comas y el valor por defecto se establece con un signo igual.
Añadamos más funcionalidad a percent_to_decimal() para que puedas redondear el porcentaje a un número concreto de decimales.
Este ejercicio forma parte del curso
R intermedio para finanzas
Instrucciones del ejercicio
- Rellena los huecos en la versión mejorada de
percent_to_decimal()para hacer lo siguiente:- Añade un segundo argumento opcional llamado
digitsque por defecto sea2. - En el cuerpo de la función, divide
percententre 100 y asigna el resultado adecimal. - Usa la función
roundsobredecimaly establece el segundo argumento adigitspara indicar el número de decimales.
- Añade un segundo argumento opcional llamado
- Tu función también funcionará con vectores de longitud > 1.
percentsya está definido para ti. - Llama a
percent_to_decimal()conpercents. No especifiques argumentos opcionales. - Llama de nuevo a
percent_to_decimal()conpercents. Especificadigits = 4.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Percent to decimal function
percent_to_decimal <- function(percent, ___ = ___) {
___ <- percent / 100
___(decimal, ___)
}
# percents
percents <- c(25.88, 9.045, 6.23)
# percent_to_decimal() with default digits
___
# percent_to_decimal() with digits = 4
___