OpenWebinars

Lenguajes de Programación

Introducción y primeros pasos con el lenguaje R

El lenguaje R no es solo una herramienta de programación, es la entrada al mundo del análisis estadístico y la ciencia de datos. Este artículo te muestra cómo R puede ser utilizado para desentrañar patrones, predecir tendencias y tomar decisiones basadas en datos. A través de ejemplos sencillos y aplicados te queremos animar a empezar a aprovechar el vasto potencial de R en tus proyectos de datos.

Jorge López Blasco

Jorge López Blasco

Experto en Cloud Computing, Machine Learning y Big Data.

Lectura 11 minutos

Publicado el 4 de abril de 2024

Compartir

Introducción

El lenguaje R puede parecer demasiado completo para los que se inician con el mismo, pero en este artículo te mostramos que comenzar con R es más accesible de lo que piensas.

Con con ejemplos prácticos verás cómo realizar la ejecución de algunos sencillos scripts en R, lo que seguro que te anima a seguir formándote para convertirte en un científico de datos.

Sigue leyendo y descubre todo lo que R ofrece.

Qué es R

R es un lenguaje de programación y un entorno de software libre y de código abierto diseñado específicamente para el análisis estadístico y la visualización de datos. Es ampliamente utilizado en diversas disciplinas, incluyendo la ciencia de datos, la bioinformática, la economía, la epidemiología y muchas otras áreas donde se requiere análisis cuantitativo.

Relevancia de R en la ciencia de datos y análisis estadístico

Este lenguaje es extremadamente relevante en el campoddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddde la ciencia de datos y el análisis estadístico debido a su flexibilidad, su amplia gama de paquetes y su poderosa capacidad de visualización. Permite a los usuarios realizar desde análisis estadísticos básicos hasta complejos modelos predictivos y análisis de big data. Además, al ser un software de código abierto, ofrece acceso a una amplia comunidad de usuarios y desarrolladores que contribuyen con nuevos paquetes y funcionalidades de forma constante.

Origen de R y su evolución

R se originó como un proyecto de investigación en los laboratorios de Bell en los Estados Unidos en los 90. Fue desarrollado inicialmente por Ross Ihaka y Robert Gentleman, dos profesores de la Universidad de Auckland, en Nueva Zelanda. Desde entonces, ha experimentado un crecimiento significativo en términos de funcionalidades, rendimiento y popularidad. La evolución de R ha sido impulsada en gran medida por la contribución de la comunidad de usuarios y desarrolladores, quienes han creado una amplia variedad de paquetes para satisfacer diversas necesidades de análisis de datos.

Comunidad de usuarios y colaboradores

La comunidad de usuarios y colaboradores de R es extremadamente activa y diversa. Incluye a académicos, investigadores, profesionales de la industria y entusiastas de los datos de todo el mundo. Esta comunidad no solo contribuye al desarrollo de R creando nuevos paquetes y extendiendo su funcionalidad, sino que también proporciona soporte a otros usuarios a través de foros en línea, grupos de discusión y eventos como conferencias y talleres. La naturaleza de código abierto de R fomenta la colaboración y la innovación, lo que ha llevado a su continua evolución y su posición destacada en el campo del análisis de datos y la estadística.

Las comunidades de usuarios en R son diversas y activas en España. La Comunidad R Hispano es una asociación que promueve el conocimiento y uso del lenguaje de programación R. Organiza eventos y apoya grupos locales en diferentes regiones de España, como Barcelona, Madrid, Valencia, entre otros. En el ámbito mundial, la R Foundation respalda el desarrollo de código R y promueve eventos a nivel global. También se destaca la presencia de grupos de usuarios de R en numerosos países desarrollados.

Aprende las técnicas más avanzadas en análisis de datos
Comienza 15 días gratis en OpenWebinars y accede cursos, talleres y laboratorios prácticos de Hadoop, Spark, Power BI, Pandas, R y más.
Comenzar gratis ahora

Fundamentos de R

En este apartado vamos a ver los fundamentos del lenguaje.

Estructuras de datos en R

R ofrece diversas estructuras de datos que permiten almacenar y manipular información de manera eficiente. Algunas de las estructuras de datos más comunes en R incluyen:

  • Vector: Un vector es una secuencia ordenada de elementos del mismo tipo. Puede ser un vector numérico, de caracteres, lógico, entre otros.

vector_numerico <- c(1, 2, 3, 4, 5)
vector_caracteres <- c("a", "b", "c", "d", "e")

  • Matriz: Una matriz es una estructura bidimensional que contiene elementos del mismo tipo organizados en filas y columnas.

matriz <- matrix(1:9, nrow = 3, ncol = 3)

  • Lista: Una lista es una colección ordenada de objetos que pueden ser de diferentes tipos, como vectores, matrices, data frames, entre otros.

lista <- list(numeros = c(1, 2, 3), letras = c("a", "b", "c"))

  • Data frame: Un data frame es una estructura tabular similar a una matriz, donde cada columna puede ser de un tipo diferente y se pueden aplicar operaciones de data frame específicas.

data <- data.frame(ID = 1:3, Nombre = c("Juan", "María", "Pedro"), Edad = c(25, 30, 28))

Operaciones básicas

En R, se pueden realizar diversas operaciones básicas para manipular datos, como:

  • Asignación de valores: Se utiliza el operador <- o = para asignar valores a variables. Por ejemplo: x <- 10 asigna el valor 10 a la variable x.

  • Operaciones aritméticas: R permite realizar operaciones aritméticas básicas como suma, resta, multiplicación y división utilizando los operadores +, -, * y /, respectivamente.

  • Indexación: Para acceder a elementos específicos de una estructura de datos, se utiliza la indexación. Por ejemplo, vector[3] accede al tercer elemento de un vector.

mi_vector <- c(10, 20, 30, 40, 50)
elemento <- mi_vector[3]

  • Funciones de resumen: R proporciona funciones para calcular estadísticas resumidas, como la media (mean()), la mediana (median()), la desviación estándar (sd()), entre otras.

mean_resultado <- mean(mi_vector)
median_resultado <- median(mi_vector)
sd_resultado <- sd(mi_vector)

  • Operaciones lógicas: Se pueden realizar operaciones lógicas como AND (&), OR (|) y NOT (!) para comparar valores.

resultado_logico <- (x > 5) & (x < 20)

Funciones en R

Las funciones en R son bloques de código que realizan una tarea específica y pueden aceptar argumentos como entrada. R incluye una amplia variedad de funciones predefinidas para realizar tareas comunes, como cálculos estadísticos, manipulación de datos y visualización.

Los usuarios pueden definir sus propias funciones utilizando la palabra clave function. Por ejemplo,

mi_funcion <- function(x) { return(x^2) }

Define una función llamada mi_funcion que devuelve el cuadrado de su argumento x.

Para llamar a una función, simplemente se escribe el nombre de la función seguido de paréntesis que pueden contener argumentos si es necesario. Por ejemplo, resultado <- mi_funcion(3) llama a la función mi_funcion con el argumento 3 y almacena el resultado en la variable resultado.

Esto son solo algunos ejemplos y conceptos introductorios, pero si quieres convertirte en todo un experto te recomendamos los Curso de introducción a la programación en R.

Características clave de R

En este apartado vamos a ver las características clave de R, veremos lo referente a análisis estadístico, gráficos personalizados con ggplot y paquetes más utilizados.

Análisis estadístico

El análisis estadístico es una de las capacidades principales de R. Con una amplia variedad de funciones y paquetes estadísticos, R permite a los usuarios realizar una amplia gama de análisis estadísticos, desde simples cálculos descriptivos hasta complejos modelos predictivos. A continuación, os adjuntamos una cheat sheet (chuletilla) que recoge la gran mayoría de funciones estadísticas disponibles en R para realizar análisis estadísticos:

Imagen 0 en Introducción y primeros pasos con el lenguaje R

Gráficos personalizables

Una de las características más destacadas de R es su capacidad para crear gráficos altamente personalizables y de alta calidad. R ofrece una amplia variedad de paquetes para la visualización de datos, incluyendo ggplot2, lattice, y base graphics, que permiten a los usuarios crear una amplia gama de gráficos estáticos y dinámicos. Estos gráficos pueden ser personalizados en términos de colores, estilos, etiquetas y otros aspectos para satisfacer las necesidades específicas de visualización de cada usuario.

library(ggplot2) datos <- data.frame(x = 1:10, y = 1:10) ggplot(datos, aes(x = x, y = y)) + geom_point(color = "blue") + labs(title = "Gráfico de dispersión", x = "Eje X", y = "Eje Y")

A continuación, puedes ver otra cheatsheet donde se muestran los diferentes comandos que puedes utilizar dentro de ggplot:

Imagen 1 en Introducción y primeros pasos con el lenguaje R

Comunidad y paquetes

Una de las mayores fortalezas de R es su activa y diversa comunidad de usuarios y desarrolladores como hemos comentado previamente. Esta comunidad contribuye constantemente al desarrollo de nuevos paquetes y funcionalidades, lo que enriquece el ecosistema de R y amplía sus capacidades. Además, la comunidad proporciona soporte a través de foros en línea, listas de correo, grupos de usuarios y eventos como conferencias y talleres. Gracias a esta comunidad, R cuenta con una gran cantidad de paquetes disponibles para una amplia variedad de propósitos, lo que permite a los usuarios aprovechar fácilmente las últimas técnicas y métodos en sus análisis de datos. A continuación, puedes ver un ejemplo de cómo podemos utilizar el paquete dplyr:

install.packages("dplyr") # Instalar el paquete dplyr
library(dplyr) # Cargar el paquete dplyr
datos_filtrados <- filter(datos, x > 5)

Hay otros paquetes disponibles muy interesantes como:

  • stats: Este es el paquete base de R que proporciona funciones para realizar cálculos estadísticos básicos y modelos estadísticos clásicos como regresión lineal, análisis de varianza, pruebas de hipótesis, entre otros.

  • caret: Este paquete proporciona una interfaz unificada para el entrenamiento de modelos de aprendizaje automático y la evaluación de su rendimiento.

Primeros pasos con R

En esta sección, exploraremos las diferentes plataformas compatibles con R, las opciones de instalación disponibles y cómo descargar e instalar R en tu sistema. Una vez que hayas completado estos pasos, estarás listo para utilizar R.

Plataformas compatibles

R es compatible con una amplia variedad de plataformas, lo que hace que sea accesible para usuarios de diferentes sistemas operativos. Algunas de las plataformas compatibles con R incluyen. Las plataformas compatibles con el lenguaje R incluyen GNU/Linux, Mac OSX, MS Windows, y Unix. Además, R Software está disponible para Linux, Windows y Mac

Opciones de instalación

Hay varias opciones disponibles para instalar R en tu sistema. La más sencilla y usual es descargar e instalar R desde el sitio web oficial. Puedes descargar el instalador de R desde el sitio web oficial de (https://www.r-project.org/)[R] y seguir las instrucciones de instalación para tu plataforma específica.

Por otro lado, en sistemas Unix/Linux, como Ubuntu, puedes instalar R utilizando el gestor de paquetes de tu sistema. Por ejemplo, en Ubuntu puedes usar el comando ‘sudo apt-get install r-base’ para instalar R. Además, algunas distribuciones de Linux y paquetes de software proporcionan instaladores binarios precompilados de R que pueden ser más fáciles de instalar en sistemas Linux.

Descarga e instalación

Vamos a ver cómo podríamos instalar R en Windows, que probablemente será el entorno que utilicéis la mayoría de vosotros, para ello vamos a la página web de R project.

Imagen 2 en Introducción y primeros pasos con el lenguaje R

Para descargar la aplicación hacemos clic en Cran y pinchamos sobre el enlace del “espejo” más próximo a nuestra ubicación, Spain. Seleccionemos la URL de, por ejemplo: Spanish National Research Network, Madrid.

Imagen 3 en Introducción y primeros pasos con el lenguaje R

Ahora, en función de vuestro sistema operativo, seleccionar la correspondiente opción. Al hacer clic sobre Download R for Windows iremos a la página que se reproduce más abajo. Hacer clic sobre install R for the first time.

Imagen 4 en Introducción y primeros pasos con el lenguaje R

En la siguiente ventana, hacer clic sobre Download R 3.3.3 for Windows y guardar el archivo de instalación. Ejecutar el archivo descargado para proceder a la instalación de R.

Qué es RStudio

RStudio es un entorno de desarrollo integrado (IDE) diseñado específicamente para trabajar con el lenguaje de programación R. Proporciona un conjunto de herramientas que facilitan la escritura, depuración, ejecución y visualización de código en R, lo que lo convierte en una opción popular entre los usuarios de R.

Características de RStudio

En la imagen anterior puedes observar las cuatro áreas principales de las que consta R Studio, además de la barra de opciones ubicada en la parte superior.

Imagen 5 en Introducción y primeros pasos con el lenguaje R

En la primera área, encontramos el editor de sintaxis, donde escribimos el código que deseamos ejecutar. Sin embargo, el código no se ejecuta automáticamente al escribirlo; necesitamos presionar algún botón o usar la combinación de teclas ctrl+enter para ejecutar los comandos.

La segunda área corresponde al “entorno de trabajo” del programa. Aquí se muestran los conjuntos de datos y los resultados, variables y gráficos generados al ejecutar diferentes análisis.

En la tercera área, encontramos varias pestañas:

  • La pestaña de “archivos” nos permite ver el historial de archivos trabajados con el programa.
  • La pestaña de “gráficos” nos permite visualizar los gráficos generados.
  • La pestaña de “paquetes” nos permite ver los paquetes descargados y almacenados en el disco duro, así como gestionar su instalación o actualización.
  • La pestaña de “ayuda” nos brinda acceso al CRAN (Comprehensive R Archive Network), la página oficial del software que ofrece una variedad de recursos, como manuales para el usuario, cursos en línea, información general y descarga de paquetes. Esta pestaña es especialmente útil, ya que mediante el motor de búsqueda podemos acceder rápidamente a los manuales de uso de los diferentes paquetes instalados en el ordenador, sin necesidad de estar conectados a Internet.
  • La ventana “visor” muestra los resultados al construir reportes utilizando funcionalidades similares a rmarkdown.

La cuarta área corresponde a la consola, que funciona de manera similar al software R en su versión básica. Aquí es donde se ejecutan las operaciones realizadas desde el editor de sintaxis.

Ventajas de usar Rstudio

RStudio ofrece una serie de ventajas que lo convierten en una herramienta imprescindible para analistas de datos, científicos y desarrolladores. Su interfaz intuitiva y centrada en el usuario facilita la programación en R, permitiendo una rápida exploración y manipulación de datos. La integración de funciones como la visualización de gráficos en tiempo real y la capacidad de generar informes dinámicos con Markdown agilizan el proceso de análisis y presentación de resultados. Además, RStudio ofrece un entorno de desarrollo robusto con características como la depuración de código, control de versiones y gestión de paquetes, lo que aumenta la eficiencia y productividad del usuario. Su naturaleza de código abierto y la activa comunidad de usuarios garantizan un continuo desarrollo y soporte, asegurando que RStudio siga siendo una herramienta líder en el campo del análisis de datos y la ciencia de datos.

Tutorial: Análisis de datos básicos

A continuación, vamos a ver los pasos a seguir para hacer un análisis de datos utilizando R, para ello lo primero que tenemos que hacer es importar los datos. Existen diversas maneras de importar datos en R, dependiendo del formato en el que estén almacenados.

Si los datos se encuentran en un archivo CSV, puedes usar la función read.csv como sigue:

data_csv2 <- read.csv2("ruta/del/archivo.csv")

Por otro lado, si los datos están en un archivo de Excel, podéis utilizar la biblioteca readxl o openxlsx.

data_excel <- read_xlsx("ruta/del/archivo.xlsx")

Una vez tenemos los datos en nuestro entorno podemos empezar con el preprocesamiento. Lo primero en lo que nos tendremos que fijar son los NAs. Los datos faltantes se refieren a la ausencia de valores en una variable o columna. Pueden surgir por diversas razones, como errores en la recolección de datos, pérdida de información o simplemente porque ciertos datos no están disponibles.

Podemos eliminar las filas que contienen datos faltantes utilizando la función na.omit()

df_sin_missing <- na.omit(df)

También debemos fijarnos en los outliers, estos son observaciones que se desvían significativamente de la tendencia general de los datos. Pueden indicar errores en la recolección de datos o patrones interesantes en los datos.

masa_iqr <- df$masa
q1 <- quantile(masa_iqr, 0.25)
q3 <- quantile(masa_iqr, 0.75)
iqr <- q3 - q1
lower_bound <- q1 - 1.5 * iqr
upper_bound <- q3 + 1.5 * iqr
outliers <- masa_iqr[masa_iqr < lower_bound | masa_iqr > upper_bound]

En el código anterior, se identifican outliers en la columna “masa” utilizando el método del rango intercuartílico (IQR). Se calculan los cuartiles (q1 y q3), el IQR, y se definen límites inferior y superior. Los valores fuera de estos límites se consideran outliers y se almacenan en la variable outliers

Tras esto pasamos al trabajo de visualización de datos univariados, para ello tomaremos en cuenta el dataframe ya preparado. Podemos hacer una gráfica de barras para una variable cualitativa utilizando el siguiente código:

barplot(table(Data$restaurant))

Imagen 6 en Introducción y primeros pasos con el lenguaje R

O incluso podemos hacer representaciones bivariadas, por ejemplo, para ver la distribución de una variable numérica en función de la categoría.

grafico_caja_bigotes <- ggplot(Data, aes(x = Data$restaurant, y = Data$sugar, fill = Data$restaurant)) + geom_boxplot() + labs(title = "Gráfico de Caja y Bigotes Bivariado", x = "Restaurante", y = "Media azucar") + theme_minimal()

Imagen 7 en Introducción y primeros pasos con el lenguaje R

Analiza los datos para tomar mejores decisiones en tu empresa
Cursos y talleres para formar a tus científicos de datos e ingenieros en las herramientas más utilizadas: Hadoop, Spark, Power BI, Pandas, R y más
Solicitar más información

Conclusiones

Durante el artículo, hemos descubierto que R es mucho más que solo un lenguaje de programación. Es una herramienta poderosa que ha transformado la manera en que analizamos datos y extraemos información significativa de ellos. Su versatilidad y amplia gama de funciones nos han permitido abordar una variedad de problemas en campos tan diversos como la ciencia, la economía y la investigación.

La evolución de R, desde sus inicios en los laboratorios de Bell hasta su estado actual como una herramienta líder en análisis de datos, es testimonio de su relevancia. Su desarrollo impulsado por la comunidad ha garantizado que continúe mejorando y adaptándose a las necesidades cambiantes de los usuarios.

Al explorar los fundamentos de R, desde sus estructuras de datos hasta las operaciones básicas y la creación de funciones personalizadas, hemos adquirido un entendimiento sólido de cómo trabajar eficazmente con datos en este entorno. Además, hemos visto cómo las características clave de R, como su capacidad para realizar análisis estadísticos detallados y crear visualizaciones impactantes, pueden ayudarnos a comunicar nuestros resultados de manera efectiva. Aun así, esto ha sido solo una introducción, si quieres aprender mucho más sobre la generación de visualizaciones te recomendamos que visites nuestro Curso de programación en R: Visualización de datos y machine learning.

Bombilla

Lo que deberías recordar del lenguaje R

  • R es un lenguaje de programación y un entorno de software libre y de código abierto diseñado para análisis estadístico y visualización de datos.
  • Es ampliamente utilizado en diversas disciplinas debido a su flexibilidad, amplia gama de paquetes y poderosa capacidad de visualización.
  • Se originó como un proyecto de investigación en los laboratorios de Bell en los años 90 y ha experimentado un crecimiento significativo gracias a la contribución de la comunidad de usuarios y desarrolladores.
  • La comunidad de usuarios y colaboradores de R es activa y diversa, contribuyendo al desarrollo de nuevos paquetes y funcionalidades, así como proporcionando soporte a otros usuarios.
  • R ofrece capacidades avanzadas para el análisis estadístico, la creación de gráficos personalizables y una amplia variedad de paquetes disponibles gracias a su activa comunidad.
Compartir este post

También te puede interesar