Funciones en R: conceptos básicos y uso

R es un lenguaje de programación que se utiliza en muchas áreas del análisis de datos y de estadística. Uno de los conceptos más importantes de la programación en R son las funciones, que ayudan a que el código sea claro y modular.

¿Para qué se necesitan funciones en R?

Las funciones en R se utilizan para estructurar, organizar y reutilizar código. Son muy útiles si quieres realizar análisis complejos, llevar a cabo tareas extensas de procesamiento de datos o crear análisis personalizados. Crear funciones en R tiene una serie de ventajas:

  • Abstracción: las funciones en R proporcionan una manera de encapsular procesos o cálculos complejos en una interfaz única y fácil de entender. Esto facilita el mantenimiento y la lectura del código.
  • Reutilización: las funciones en R permiten ejecutar repetidamente un determinado bloque de código sin tener que reescribirlo cada vez. Esto ahorra tiempo y reduce la susceptibilidad a los errores.
  • Modularidad: las funciones en R permiten dividir un proyecto grande en partes más pequeñas y manejables.

Sintaxis de las funciones en R

La sintaxis de las funciones en R es consistente y sigue un patrón claro. Una función en R consta de varios componentes principales:

  • Nombre de la función: normalmente especifica qué tarea cumple.
  • Argumentos: valores o variables que se pasan a la función y que esta procesa. Una función puede aceptar cualquier número de argumentos (o ninguno). También se pueden utilizar valores por defecto para los argumentos en las funciones en R.
  • Cuerpo de la función: contiene el código que se ejecuta dentro de la función y se encierra entre llaves. Este código puede acceder y procesar los argumentos.
  • Valor de retorno: la mayoría de las funciones en R utilizan return() para devolver un valor que representa el resultado del cálculo. Este valor de retorno se puede usar para utilizar el resultado de la función en otras partes del código.

He aquí un ejemplo sencillo de una función de R que suma dos números:

my_add <- function(a, b) {
    result <- a + b
    return(result)
}
R

En este ejemplo, my_add es el nombre de la función, a y b son los argumentos, el cuerpo de la función realiza la suma y result(result) devuelve el resultado. También se observa que la definición de la función se introduce con la palabra clave function.

Una función también puede contener valores por defecto para los argumentos, que se utilizan si no se añaden argumentos. La función anterior con valores por defecto sería:

my_add <- function(a = 1, b = 2) {
    result <- a + b
    return(result)
}
R

Si ahora se llama a la función sin añadir ningún argumento, el resultado es el valor 3.

Consejo

Si quieres publicar tu proyecto en R, puedes alquilar tu propio alojamiento web con espacio ilimitado con IONOS, que te ofrece espacio suficiente para proyectos web de todo tipo.

Funciones en R preinstaladas

R tiene una extensa colección de funciones preinstaladas, también llamadas comandos R, que pueden ser usadas para varios propósitos. Estas funciones están disponibles y son utilizables en R sin definición previa. Algunas de las funciones, como la suma, también pueden ser reemplazadas por operadores en R, en este caso por el operador +.

Si ya no estás aprendiendo a programar, seguramente te suenen de otros lenguajes de programación algunas de las funciones predefinidas que se muestran aquí:

  • mean(): calcula la media de los números
  • plot(): función de trazado en R para crear diagramas y gráficos
  • read.csv(): lee datos de un archivo CSV
  • toupper(): convierte todos los caracteres de una cadena R a mayúsculas
  • sum(): calcula la suma de números
  • print(): muestra los valores en la consola

He aquí un ejemplo de uso de la función preinstalada mean() en R. La media de todos los números del vector de R numbers se almacena en la variable result al final del código.

numbers <- c(2, 4, 6, 8, 10)
result <- mean(cifras)
R

Cómo crear funciones propias en R

Crear tus propias funciones en R es una parte fundamental de la programación en este lenguaje. Puedes crear funciones que se adapten específicamente a tus necesidades. Todo lo que tienes que hacer es observar la sintaxis de R y pensar qué argumentos requiere tu función.

Un ejemplo sencillo de una función personalizada de R que devuelva la cantidad de un número podría ser así:

my_abs <- function(x) {
    if (x < 0) {
        return(-x)
    } else {
        return(x)
    }
}
R

En el ejemplo anterior, la función acepta un argumento x. En el cuerpo de la función, se utiliza una sentencia R-if para comprobar si se trata de un número negativo o positivo y el valor de retorno se ajusta en consecuencia.

Uso de funciones en R

Una vez creada una función, puedes utilizarla en tu código R llamando al nombre de la función y pasando los argumentos necesarios. Puedes utilizar tus propias funciones del mismo modo que las funciones predefinidas de R.

He aquí un ejemplo de uso de la función my_abs que acabas de crear:

result <- my_abs(-5)
print(result)
R

Si ejecutas el código del ejemplo, verás que aparece un 5 en la pantalla. Por lo tanto, el cálculo del valor absoluto mediante la función lleva al resultado correcto.