El futuro de Data Science: Tendencias y oportunidades de carrera
La Ciencia de Datos se ha posicionado como un campo clave en la transformación digital. El crecimiento exponencial de los datos hace...
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.
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.
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.
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.
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.
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.
En este apartado vamos a ver los fundamentos del lenguaje.
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_numerico <- c(1, 2, 3, 4, 5)
vector_caracteres <- c("a", "b", "c", "d", "e")
matriz <- matrix(1:9, nrow = 3, ncol = 3)
lista <- list(numeros = c(1, 2, 3), letras = c("a", "b", "c"))
data <- data.frame(ID = 1:3, Nombre = c("Juan", "María", "Pedro"), Edad = c(25, 30, 28))
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]
mean_resultado <- mean(mi_vector)
median_resultado <- median(mi_vector)
sd_resultado <- sd(mi_vector)
resultado_logico <- (x > 5) & (x < 20)
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.
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.
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:
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:
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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))
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()
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.
También te puede interesar
La Ciencia de Datos se ha posicionado como un campo clave en la transformación digital. El crecimiento exponencial de los datos hace...
El proceso de creación de un equipo de ciencia de datos va más allá de la habilidad técnica. Es importante crear un...