En este módulo, aprenderemos sobre los diferentes tipos de datos y estructuras que R ofrece. Comprender estos conceptos es fundamental para trabajar eficientemente con datos en R.

Tipos de Datos en R

R maneja varios tipos de datos básicos. A continuación, se describen los más comunes:

  1. Numéricos: Incluyen tanto enteros como números de punto flotante.

    x <- 42       # Entero
    y <- 3.14     # Punto flotante
    
  2. Caracteres: Cadenas de texto.

    name <- "John Doe"
    
  3. Lógicos: Valores booleanos (TRUE o FALSE).

    is_true <- TRUE
    is_false <- FALSE
    
  4. Factores: Variables categóricas que pueden tener un número fijo de valores únicos.

    gender <- factor(c("male", "female", "female", "male"))
    
  5. Fechas y Tiempos: Manejo de fechas y tiempos.

    today <- Sys.Date()
    now <- Sys.time()
    

Estructuras de Datos en R

R proporciona varias estructuras de datos para almacenar y manipular datos. Las más comunes son:

  1. Vectores: Una colección de elementos del mismo tipo.

    numeric_vector <- c(1, 2, 3, 4, 5)
    character_vector <- c("a", "b", "c")
    
  2. Matrices: Una colección bidimensional de elementos del mismo tipo.

    matrix_data <- matrix(1:9, nrow = 3, ncol = 3)
    
  3. Listas: Una colección de elementos que pueden ser de diferentes tipos.

    my_list <- list(name = "John", age = 30, scores = c(90, 85, 88))
    
  4. Data Frames: Una tabla de datos donde cada columna puede contener diferentes tipos de datos.

    df <- data.frame(
      name = c("John", "Jane", "Doe"),
      age = c(30, 25, 35),
      score = c(90, 85, 88)
    )
    
  5. Factores: Ya mencionados anteriormente, son útiles para variables categóricas.

    factor_data <- factor(c("low", "medium", "high", "medium", "low"))
    

Ejemplos Prácticos

Creación y Manipulación de Vectores

# Crear un vector numérico
numeric_vector <- c(1, 2, 3, 4, 5)
print(numeric_vector)

# Acceder a elementos del vector
print(numeric_vector[1])  # Primer elemento
print(numeric_vector[2:4])  # Segundo al cuarto elemento

# Operaciones con vectores
sum_vector <- sum(numeric_vector)
mean_vector <- mean(numeric_vector)
print(sum_vector)
print(mean_vector)

Creación y Manipulación de Data Frames

# Crear un data frame
df <- data.frame(
  name = c("John", "Jane", "Doe"),
  age = c(30, 25, 35),
  score = c(90, 85, 88)
)
print(df)

# Acceder a columnas
print(df$name)
print(df$age)

# Filtrar filas
subset_df <- df[df$age > 30, ]
print(subset_df)

Ejercicio Práctico

Ejercicio 1: Creación de un Vector y Operaciones Básicas

  1. Crea un vector numérico con los números del 1 al 10.
  2. Calcula la suma y el promedio de los elementos del vector.
  3. Extrae los elementos del 4 al 7 del vector.

Solución

# Paso 1: Crear el vector
numeric_vector <- c(1:10)
print(numeric_vector)

# Paso 2: Calcular la suma y el promedio
sum_vector <- sum(numeric_vector)
mean_vector <- mean(numeric_vector)
print(sum_vector)
print(mean_vector)

# Paso 3: Extraer elementos del 4 al 7
subset_vector <- numeric_vector[4:7]
print(subset_vector)

Ejercicio 2: Creación y Manipulación de un Data Frame

  1. Crea un data frame con las siguientes columnas: nombre (caracter), edad (numérico) y puntaje (numérico).
  2. Agrega tres filas de datos al data frame.
  3. Filtra las filas donde la edad es mayor a 25.

Solución

# Paso 1: Crear el data frame
df <- data.frame(
  nombre = c("Ana", "Luis", "Carlos"),
  edad = c(22, 28, 24),
  puntaje = c(88, 92, 85)
)
print(df)

# Paso 2: Filtrar filas donde la edad es mayor a 25
subset_df <- df[df$edad > 25, ]
print(subset_df)

Conclusión

En esta sección, hemos cubierto los tipos de datos básicos y las estructuras de datos en R. Estos conceptos son fundamentales para cualquier análisis de datos y programación en R. En el próximo módulo, profundizaremos en la manipulación de datos utilizando estas estructuras.

Programación en R: De Principiante a Avanzado

Módulo 1: Introducción a R

Módulo 2: Manipulación de Datos

Módulo 3: Visualización de Datos

Módulo 4: Análisis Estadístico

Módulo 5: Manejo Avanzado de Datos

Módulo 6: Conceptos Avanzados de Programación

Módulo 7: Aprendizaje Automático con R

Módulo 8: Temas Especializados

Módulo 9: Proyecto y Estudios de Caso

© Copyright 2024. Todos los derechos reservados