Cuando se realiza un código que involucra muchas líneas de programación y donde además hay partes que son similares, es preferible escribir el código utilizando funciones. Una o varias funciones pueden ser almacenadas en un archivo para luego ser empleadas dentro de un código principal la función sea requerida. Tome por ejemplo que en un código hay que resolver diversos sistemas lineales. Copiar y pegar el pedazo de código que resuelve el sistema hace el código extremadamente extenso y difícil de leer. Sin embargo, si introducimos una función que resuelva sistemas lineales, cada vez que necesitemos resolver el sistema lo que tenemos que hacer es usar la función específica ya programada y a lo sumo utilizaremos una solo línea de código.
Vamos a comenzar por programar en R una función que calcule el volumen de un cilindro dado su altura y su radio,
$$ V=\pi {r^2} h$$
Noten que el volumen $V$ es la variable de salida o output, mientras que el radio $r$ y la altura $h$ son parámetros de entrada (input). Para definir la función en R podemos emplear la siguiente estructura:
volumen<-function(r,h){
volumen<-pi*r^2*h
return(volumen)
}
La función la podemos colocar en un archivo (script) o dentro del mismo archivo principal, recuerden que la ventaja es que este mismo pedazo de código va ser utilizado varias veces dentro del archivo principal sin necesidad de reescribir el código. Solo es necesario invocar la función,
V<-volumen(0.2,0.8)
print('Volumen para r=0.2 y h=1')
print(V)
De esta manera, cada vez que necesitemos calcular el volumen para nuevos valores de h y r solo tenemos que llamar la función y colocar los parámetros de entrada en el orden correcto. En este ejemplo, primero se coloca el radio y luego la altura.