Una de las grandes ventajas de R es que permite al usuario crear sus propias funciones y así extender la funcionalidad de R.
Para implementaren una función en la primer linea se debe designar un nombre, puede ser uno representativo o una abreviación de la operación que se desea hacer. Luego debemos escribir el comando funtion y seguido de este los argumentos que nesecitamos.
En el cuerpo de la función se escriben las instrucciónes que se desean realzar.
La siguiente función suma toma dos argumentos (x,y) y luego reaaliza la operación suma:
suma<-function(x,y){
# suma de los elementos "x" e "y”
x+y
}
suma(5,4)
## [1] 9
La siguiente función hace la operación potencia entre dos numeros y agrega mediante el comando paste un mensaje a la salida de la función
potencia <- function(x, y) {
result <- x^y
paste(x,"elevado a la potencia de", y, "es", result)
}
potencia(2,3)
## [1] "2 elevado a la potencia de 3 es 8"
Esta función me calcula la tasa de metabolismo de una persona, tiene argumentos de tipo numericos y caracter.
#Tasa de metabolismo basal
TMB<-function(Sexo,Altura,Peso,Edad){
if(Sexo=="mujer"){ 655 + (9.6 * Peso) + (1.8 * Altura) - (4.7 * Edad)
}else{ 66 + (13.7 * Peso) + (5 * Altura) - (6.8 * Edad) }
}
TMB("mujer",170,57,32)
## [1] 1357.8
En este ejemplo vemos la implemetación del comando return dentro de una funcion, lo cual nos permite visualizar datos de esta en cualquier etapa:
f<-function(x,y){
if(is.character(y)) return("y debe ser numérico")
x+y
}
f(2,"hola")
## [1] "y debe ser numérico"