2.6 Funciones
Se puede idealizar una función como una secuencia de órdenes (líneas de código) que tienen como objetivo aplicarle un procedimiento (gráfico, estadístico, de modificación o transformación, entre otros) a un objeto de entrada (input) para generar un resultado (ouput). Dichas líneas de código están empaquetadas y almacenadas con un nombre.
Reconocer una función en R es tarea sencilla, siempre será un nombre seguido de paréntesis. Por ejemplo, la función para calcular la desviación estándar de un conjunto de datos es sd()
, que proviene del inglés standard deviation. Dentro de los paréntesis se deben colocar los argumentos de la función. El argumento más sencillo que algunas funciones necesitan es un conjunto de datos, y es justamente lo único que necesita sd()
.
# Para crear un conjunto de datos en R se usa la función c()
<- c(7,9,3,4,5,3,7,8)
x
# Usando sd() para hallar la desviación estándar de x
sd(x)
# [1] 2.315
Si se ejecuta únicamente el nombre de una función existente en RStudio, en la consola se mostrará el contenido de la misma, la secuencia de órdenes que le dan forma a la función. Ejecuta el sd
para ver su contenido:
sd# function (x, na.rm = FALSE)
# sqrt(var(if (is.vector(x) || is.factor(x)) x else as.double(x),
# na.rm = na.rm))
# <bytecode: 0x000001cc1dd0cb80>
# <environment: namespace:stats>
La secuencia de órdenes dentro de sd
es corta. Básicamente utiliza la función sqrt()
para sacarle la raíz cuadrada a la función var()
, esta última calcula la varianza de un conjunto de datos. La estructura del código es propiamente la fórmula matemática para el cálculo de la desviación estándar. Aunque, a decir verdades, el código luce más complejo, y es debido a que aquí la función var()
contiene argumentos condicionales para pedir que evalúe si el objeto x
es correcto para la función, o si se necesita un cambio antes de procesarx
en sd()
. Pierde cuidado si no se entiende mucho por ahora, no es necesario comprender las funciones a este nivel al iniciar con R.