Estructuras de Datos en R

Vectores: creación y operaciones básicas

En R, un vector es una secuencia de elementos del mismo tipo. Es una de las estructuras de datos más fundamentales y se utiliza frecuentemente para almacenar y manipular datos. Puedes crear vectores de números, caracteres o booleanos, y realizar diversas operaciones básicas con ellos, como suma, resta, multiplicación, división y acceso a elementos.

Código:

				
					# Creación de vectores
vector_numerico <- c(1, 2, 3, 4, 5)         # Vector numérico
vector_caracteres <- c("a", "b", "c", "d")  # Vector de caracteres
vector_booleano <- c(TRUE, FALSE, TRUE)     # Vector booleano

# Acceso a elementos del vector
primer_elemento <- vector_numerico[1]       # Primer elemento del vector
elementos_2_a_4 <- vector_numerico[2:4]     # Elementos del 2 al 4

# Operaciones básicas con vectores
suma_vectores <- vector_numerico + 1        # Sumar 1 a cada elemento
producto_vectores <- vector_numerico * 2    # Multiplicar cada elemento por 2

# Funciones aplicadas a vectores
longitud_vector <- length(vector_numerico)  # Longitud del vector
suma_total <- sum(vector_numerico)          # Suma de todos los elementos
promedio_vector <- mean(vector_numerico)    # Promedio de los elementos

				
			

Explicación del código:

Para crear un vector en R, se utiliza la función c(), que combina sus argumentos en un vector. Por ejemplo, vector_numerico <- c(1, 2, 3, 4, 5) crea un vector numérico con cinco elementos. Similarmente, vector_caracteres <- c("a", "b", "c", "d") crea un vector de caracteres y vector_booleano <- c(TRUE, FALSE, TRUE) crea un vector booleano.

Puedes acceder a elementos específicos de un vector usando corchetes []. Por ejemplo, vector_numerico[1] devuelve el primer elemento del vector vector_numerico, y vector_numerico[2:4] devuelve una subsecuencia del segundo al cuarto elemento.

Las operaciones aritméticas se pueden aplicar directamente a los vectores. Por ejemplo, vector_numerico + 1 suma 1 a cada elemento del vector, y vector_numerico * 2 multiplica cada elemento por 2.

Existen funciones integradas en R para trabajar con vectores. La función length() devuelve la longitud del vector, sum() calcula la suma de todos los elementos del vector y mean() calcula el promedio de los elementos del vector.

Estas operaciones y funciones te permiten manipular y analizar datos de manera eficiente utilizando vectores en R.

Matrices: manipulación y operaciones

En R, una matriz es una estructura de datos bidimensional que contiene elementos del mismo tipo, organizados en filas y columnas. Las matrices se utilizan para representar y manipular datos tabulares o realizar cálculos matemáticos que requieren operaciones matriciales. Puedes crear matrices, acceder a sus elementos y realizar diversas operaciones básicas y avanzadas sobre ellas.

Código:

				
					# Creación de matrices
matriz <- matrix(1:9, nrow = 3, ncol = 3)       # Matriz 3x3 con elementos del 1 al 9

# Acceso a elementos de la matriz
elemento <- matriz[1, 2]                        # Elemento en la primera fila, segunda columna
fila_entera <- matriz[2, ]                      # Segunda fila completa
columna_entera <- matriz[, 3]                   # Tercera columna completa

# Operaciones básicas con matrices
matriz_suma <- matriz + 1                       # Sumar 1 a cada elemento de la matriz
matriz_producto <- matriz * 2                   # Multiplicar cada elemento por 2

# Operaciones matriciales
matriz_transpuesta <- t(matriz)                 # Transponer la matriz
matriz_inversa <- solve(matriz)                 # Invertir la matriz (si es cuadrada y no singular)
matriz_producto_matrices <- matriz %*% matriz   # Producto matricial (matrices cuadradas)

# Funciones aplicadas a matrices
sum_matriz <- sum(matriz)                       # Suma de todos los elementos
mean_filas <- rowMeans(matriz)                  # Promedio de cada fila
mean_columnas <- colMeans(matriz)               # Promedio de cada columna

				
			

Explicación del código:

Para crear una matriz en R, se utiliza la función matrix(). Por ejemplo, matriz <- matrix(1:9, nrow = 3, ncol = 3) crea una matriz de 3 filas y 3 columnas con los números del 1 al 9. Los elementos se rellenan por columnas de forma predeterminada.

Puedes acceder a elementos específicos de una matriz usando corchetes [,]. matriz[1, 2] devuelve el elemento en la primera fila y segunda columna. matriz[2, ] devuelve toda la segunda fila y matriz[, 3] devuelve toda la tercera columna.

Las operaciones aritméticas se pueden aplicar a cada elemento de la matriz. Por ejemplo, matriz + 1 suma 1 a cada elemento de la matriz, y matriz * 2 multiplica cada elemento por 2.

Para operaciones matriciales, puedes usar funciones específicas de R. La función t() transpone la matriz, solve() calcula la matriz inversa (si es cuadrada y no singular), y %*% realiza el producto matricial entre dos matrices.

Las funciones sum(), rowMeans(), y colMeans() aplicadas a matrices permiten calcular la suma de todos los elementos, el promedio de cada fila y el promedio de cada columna, respectivamente.

Estas capacidades de manipulación y operaciones con matrices te permiten realizar análisis y cálculos complejos de manera eficiente en R.

Listas: creación y acceso a elementos

En R, una lista es una estructura de datos versátil que puede contener elementos de diferentes tipos, incluidos números, caracteres, vectores, matrices, y otras listas. Esto hace que las listas sean muy útiles para almacenar conjuntos de datos heterogéneos. Puedes crear listas y acceder a sus elementos utilizando índices y nombres.

Código:

				
					# Creación de listas
mi_lista <- list(
  numero = 42,                             # Elemento numérico
  texto = "Hola, mundo",                   # Elemento de texto
  vector = c(1, 2, 3),                     # Vector
  matriz = matrix(1:4, nrow = 2),          # Matriz 2x2
  sublista = list(a = 1, b = 2)            # Sublista
)

# Acceso a elementos de la lista por índice
elemento_1 <- mi_lista[[1]]                # Primer elemento (número)
elemento_3 <- mi_lista[[3]]                # Tercer elemento (vector)

# Acceso a elementos de la lista por nombre
elemento_numero <- mi_lista$numero         # Elemento 'numero'
elemento_texto <- mi_lista$texto           # Elemento 'texto'
elemento_sublista <- mi_lista$sublista     # Elemento 'sublista'

# Acceso a elementos dentro de una sublista
elemento_a <- mi_lista$sublista$a          # Elemento 'a' dentro de la sublista

				
			

Explicación del código:

Para crear una lista en R, se utiliza la función list(). Por ejemplo, mi_lista <- list(numero = 42, texto = "Hola, mundo", vector = c(1, 2, 3), matriz = matrix(1:4, nrow = 2), sublista = list(a = 1, b = 2)) crea una lista con varios tipos de elementos: un número, un texto, un vector, una matriz y una sublista.

Puedes acceder a los elementos de una lista usando índices dobles [[ ]]. Por ejemplo, mi_lista[[1]] devuelve el primer elemento de la lista (el número 42) y mi_lista[[3]] devuelve el tercer elemento (el vector c(1, 2, 3)).

También puedes acceder a los elementos por su nombre utilizando el operador $. Por ejemplo, mi_lista$numero devuelve el elemento denominado numero (42), y mi_lista$texto devuelve el elemento texto ("Hola, mundo").

Si la lista contiene otra lista (sublista), puedes acceder a sus elementos de la misma manera. Por ejemplo, mi_lista$sublista devuelve la sublista, y mi_lista$sublista$a devuelve el elemento a dentro de la sublista (1).

Esta capacidad de almacenar y acceder a datos heterogéneos hace que las listas sean una herramienta poderosa en R para la gestión y manipulación de datos complejos.

Data Frames: creación, manipulación, importación y exportación

En R, un data frame es una estructura de datos bidimensional que permite almacenar tablas de datos. Cada columna en un data frame puede contener un tipo diferente de datos (numéricos, caracteres, factores, etc.), lo que lo hace ideal para manejar datasets. Puedes crear, manipular, importar y exportar data frames para analizar y gestionar datos de manera eficiente.

Código:

				
					# Creación de data frames
datos <- data.frame(
  nombre = c("Ana", "Luis", "Marta"),
  edad = c(28, 34, 45),
  salario = c(3000, 4000, 5000)
)

# Manipulación de data frames
# Acceso a columnas
edades <- datos$edad              # Columna 'edad'
nombres <- datos[["nombre"]]      # Columna 'nombre'

# Acceso a filas y columnas
fila_1 <- datos[1, ]              # Primera fila completa
columna_edad <- datos[, "edad"]   # Columna 'edad'

# Filtrado de filas
datos_mayores_30 <- subset(datos, edad > 30)

# Adición de nuevas columnas
datos$ciudad <- c("Madrid", "Barcelona", "Valencia")

# Importación de data frames
datos_csv <- read.csv("ruta/al/archivo.csv")             # Importar desde un archivo CSV
datos_excel <- readxl::read_excel("ruta/al/archivo.xlsx") # Importar desde un archivo Excel (necesita el paquete 'readxl')

# Exportación de data frames
write.csv(datos, "ruta/al/nuevo_archivo.csv")            # Exportar a un archivo CSV
writexl::write_xlsx(datos, "ruta/al/nuevo_archivo.xlsx")  # Exportar a un archivo Excel (necesita el paquete 'writexl')

				
			

Explicación del código:

Para crear un data frame en R, se utiliza la función data.frame(). Por ejemplo, datos <- data.frame(nombre = c("Ana", "Luis", "Marta"), edad = c(28, 34, 45), salario = c(3000, 4000, 5000)) crea un data frame con tres columnas: nombre, edad y salario.

Puedes manipular los data frames accediendo a sus columnas utilizando el operador $ o [[ ]]. Por ejemplo, edades <- datos$edad accede a la columna edad, y nombres <- datos[["nombre"]] accede a la columna nombre. También puedes acceder a filas y columnas utilizando índices. Por ejemplo, fila_1 <- datos[1, ] obtiene la primera fila completa, y columna_edad <- datos[, "edad"] obtiene la columna edad.

Para filtrar filas, puedes usar la función subset(). Por ejemplo, datos_mayores_30 <- subset(datos, edad > 30) obtiene todas las filas donde la edad es mayor a 30. Para añadir nuevas columnas, simplemente asigna un vector a una nueva columna. Por ejemplo, datos$ciudad <- c("Madrid", "Barcelona", "Valencia") añade una nueva columna ciudad.

La importación de data frames se puede hacer desde archivos CSV usando read.csv() o desde archivos Excel utilizando readxl::read_excel() (requiere instalar el paquete readxl). Por ejemplo, datos_csv <- read.csv("ruta/al/archivo.csv") importa un archivo CSV y datos_excel <- readxl::read_excel("ruta/al/archivo.xlsx") importa un archivo Excel.

La exportación de data frames se puede hacer a archivos CSV usando write.csv() o a archivos Excel utilizando writexl::write_xlsx() (requiere instalar el paquete writexl). Por ejemplo, write.csv(datos, "ruta/al/nuevo_archivo.csv") exporta el data frame a un archivo CSV y writexl::write_xlsx(datos, "ruta/al/nuevo_archivo.xlsx") lo exporta a un archivo Excel.

Estas funcionalidades permiten manejar y procesar datos tabulares de manera eficiente en R.