Curso
R, un lenguaje de programación estadística muy popular pensado para la preparación, el análisis y la visualización de datos, cuenta con varias estructuras de datos optimizadas para abordar con eficacia distintos tipos de tareas. Dominar la amplia variedad de estructuras de datos de R es la puerta de entrada para exprimir todo su potencial y convertir los datos en insights de valor.
Para empezar, te recomendamos nuestro curso Introduction to R Programming, donde podrás practicar estos conceptos con datos reales. Vamos al lío.
¿Qué son las estructuras de datos en R?
Las estructuras de datos en R ayudan a organizar los datos para su análisis. Pueden ser sencillas, al contener un único tipo de dato, o complejas, al admitir tipos variados. Estas estructuras se adaptan a las necesidades específicas que surgen en proyectos basados en datos. Las principales estructuras de datos en R son los vectores, las listas, las matrices, los arrays, los factores y los data frames.
Estructuras de datos en R
Tipos de estructuras de datos en R
Dediquemos un momento a familiarizarnos con las estructuras de datos en R. De paso, iremos viendo funciones comunes del lenguaje.
Vectores en R
Los vectores son la estructura de datos más simple en R. Son colecciones de elementos del mismo tipo, como numéricos, caracteres o lógicos.
R está optimizado para trabajar con vectores y, en particular, con las llamadas operaciones vectorizadas. Esto significa que puedes aplicar una función a un vector sin necesidad de iterar explícitamente por sus elementos. Por ejemplo, al sumar dos vectores, se suman sus elementos correspondientes de forma más rápida y concisa que con bucles elemento a elemento.
Aquí creamos tres vectores de tipo numérico, de caracteres y lógico usando la función c().
numeric_vector = c(10, 20, 30)character_vector = c("apple", "banana", "cherry")logical_vector = c(TRUE, FALSE, TRUE)
print(numeric_vector)print(character_vector)print(logical_vector)
Vectores de ejemplo en R
Puedes acceder a los elementos del vector con corchetes.
# Access the first
elementprint(numeric_vector[1])
# Access multiple elements
print(character_vector[c(1, 3)])
Acceso a elementos de un vector en R
También puedes realizar operaciones matemáticas y lógicas con vectores.
# Adding a scalar value to the vector
print(numeric_vector + 2)
# Multiplying elements by a scalar
print(numeric_vector * 10)
# Perform logical operations - Check which elements are greater than 15
print(numeric_vector > 15)
Operaciones con vectores en R
Otras operaciones importantes incluyen sumar, calcular la media y encontrar los valores mínimo y máximo.
# Summation
print(sum(numeric_vector))
# Mean
print(mean(numeric_vector))
# Max and min
print(max(numeric_vector))
print(min(numeric_vector))
Salida de funciones básicas de R
Matrices en R
Las matrices son arrays bidimensionales que almacenan datos de un único tipo. Resultan especialmente útiles para cálculos matemáticos. En R, puedes crear una matriz con la función matrix().
my_matrix <- matrix(1:9, nrow=3, ncol=3)print(my_matrix)
Creación de una matriz en R
Puedes acceder a elementos, filas, columnas o subconjuntos de la matriz mediante índices.
# Access the element in the first row and second column
print(my_matrix[1,2])
# Access the second row
print(my_matrix[2,])
# Access the third column
print(my_matrix[,3])
Acceso a los elementos de una matriz en R
También puedes realizar operaciones matemáticas con matrices.
another_matrix <- matrix(9:1, nrow=3, ncol=3)
# Element-wise addition
print(my_matrix + another_matrix)
# Element-wise subtraction
print(my_matrix - another_matrix)
# Element-wise multiplication
print(my_matrix * another_matrix)
# Element-wise division
print(my_matrix / another_matrix)

Operaciones matemáticas con matrices en R
Arrays en R
Los arrays son una extensión de las matrices y pueden tener más de dos dimensiones, lo que permite almacenar datos multidimensionales de forma eficiente. Puedes crear un array en R con la función array().
El argumento dim = c(2, 2, 2) establece las dimensiones del array. En este caso, indica que el array tendrá tres dimensiones (un array 3D) con 2 filas, 2 columnas y 2 capas (o profundidad). El resultado del código anterior se muestra a continuación. Puedes profundizar en nuestro tutorial Arrays in R.
my_array = array(1:8, dim = c(2, 2, 2))
print(my_array)

Creación de un array en R
Listas en R
Las listas son estructuras de datos muy versátiles en R que pueden contener una mezcla de objetos de distintos tipos y tamaños. Puedes crear una lista con la función list().
my_list <- list(name="DataCamp", year=2024, scores=c(80, 90, 85), active=TRUE)
print(my_list)

Contenido de una lista en R
Una vez creada la lista, puedes acceder a sus elementos por índice o por nombre.
print(my_list[[3]])
print(my_list$name)
print(my_list$scores)
Acceso a los elementos de una lista en R
Factores en R
A diferencia de los vectores, las matrices o las listas, los factores no definen una estructura de almacenamiento como tal, sino que describen cómo deben tratarse los datos dentro de esas estructuras. Por tanto, puedes pensar en los factores como un tipo de dato, similar a los enteros o a los caracteres.
Incluimos los factores porque son clave para trabajar con datos categóricos en el ecosistema de R, sobre todo en técnicas estadísticas donde importa distinguir entre variables categóricas y continuas. Esto difiere de Python, que suele requerir convertir las variables categóricas en numéricas mediante codificación dummy o one-hot.
Puedes crear factores con la función factor(), como se muestra a continuación:
gender <- factor(c("male", "female", "female", "male"))
print(gender)
![]()
Factores en R
Los factores se almacenan como niveles y pueden ser ordenados o no ordenados.
levels(gender) <- c("Female", "Male")
print(gender)

Niveles de un factor en R
Si quieres ver la distribución de la variable factor, usa la función summary(). La salida muestra que hay dos entradas para Female y dos para Male.
summary(gender)
Resumen en R
Data frames en R
Los data frames son la estructura de datos más popular y utilizada en R. Son especialmente prácticos porque pueden contener distintos tipos de datos en diferentes columnas. Puedes verlos como tablas de base de datos o archivos CSV, ya que almacenan y gestionan datos en un formato bidimensional, de forma cuadrada o rectangular.
Puedes crear un data frame con el comando data.frame().
data_frame <- data.frame( Names = c("Kiran", "Ajey", "Carol"), Age = c(25, 30, 35), Gender = c("Female", "Male", "Female"))
# Printing the data frame
print(data_frame)
Un data frame en R
Puedes acceder al contenido del data frame de varias formas, por columnas o por filas.
# Prints all names - use the $ sign
print(data_frame$Names)
# Access the first row
print(data_frame[1, ])
# Access the second column
print(data_frame[, 2])
Elementos de un data frame en R
Los data frames son muy útiles para la preparación y el análisis de datos porque admiten muchas operaciones como crear subconjuntos y ordenar, y permiten imprimir estadísticas descriptivas de forma sencilla.
Crear un subconjunto de un data frame en R
subset_female <- data_frame[data_frame$Gender == 'Female', ]
print(subset_female)
Un subconjunto de un data frame en R
Ordenar un data frame en R
# Sorting
data_frame <- data_frame[order(data_frame$Age), ]
print(data_frame)
Un data frame ordenado en R
Resumir un data frame en R
# Statistical summary
summary(data_frame)
Resumen descriptivo o estadístico en R
Como ves en los ejemplos, en R es muy fácil operar con data frames. A medida que profundices en el análisis de datos, comprobarás que son extremadamente versátiles y potentes para manipular, analizar y visualizar. Si quieres explorar más funcionalidades, echa un vistazo a nuestro tutorial Data Frames in R.
Sigue con R
Este tutorial te ha dado una visión de las distintas estructuras de datos en R y de su aplicación en situaciones reales de análisis. Dominar estas estructuras mejorará tus habilidades analíticas y te permitirá gestionar y analizar datos con eficacia.
Según avances, descubrirás que R es un lenguaje único, conocido por sus sólidas capacidades estadísticas y su amplio ecosistema de librerías. Es una apuesta segura para cualquiera con curiosidad por el mundo del análisis de datos.
Para más tutoriales de R, consulta estos enlaces:
Si te interesa seguir aprendiendo, puedes leer nuestras R Programming Interview Questions & Answers, un gran recurso si te estás preparando para una entrevista o simplemente quieres aprender. El artículo reúne preguntas y respuestas que te ayudarán a detectar posibles lagunas de conocimiento mientras avanzas en tu aprendizaje.
Profesional experimentado en Ciencia de Datos, Inteligencia Artificial, Analítica y Funciones Estratégicas con más de 18 años de experiencia en las áreas de -: Ciencia de datos, ML e IA ~ Ciencia de datos, Aprendizaje automático supervisado y no supervisado, Aprendizaje profundo, Modelado predictivo, Procesamiento del lenguaje natural (NLP), Modelado y análisis estadístico, Optimización, Estrategia empresarial y Analítica ~ Desarrollo y evaluación de modelos empresariales, Analítica descriptiva y de diagnóstico, EDA, Visualización, Análisis de causa raíz, Análisis de sensibilidad y de escenarios.

