Introducción
Los data frames son una de las estructuras de datos más importantes y utilizadas en R. Son similares a las tablas en bases de datos o a las hojas de cálculo en Excel. Un data frame es una estructura bidimensional que puede contener diferentes tipos de datos (numéricos, caracteres, factores, etc.) en sus columnas.
Conceptos Clave
- Estructura Bidimensional: Los data frames tienen filas y columnas.
- Tipos de Datos Mixtos: Cada columna puede contener un tipo de dato diferente.
- Etiquetas: Las filas y columnas pueden tener nombres.
Creación de Data Frames
Desde Vectores
Puedes crear un data frame combinando vectores de igual longitud.
# Crear vectores nombres <- c("Ana", "Luis", "Carlos", "Marta") edades <- c(23, 25, 30, 22) puntuaciones <- c(85.5, 90.3, 78.9, 88.1) # Crear data frame df <- data.frame(Nombre = nombres, Edad = edades, Puntuacion = puntuaciones) # Mostrar el data frame print(df)
Desde Archivos
Puedes importar data frames desde archivos CSV, Excel, etc.
# Importar data frame desde un archivo CSV df <- read.csv("ruta/al/archivo.csv") # Mostrar las primeras filas del data frame head(df)
Exploración de Data Frames
Estructura y Resumen
# Ver la estructura del data frame str(df) # Resumen estadístico de las columnas numéricas summary(df)
Acceso a Elementos
Puedes acceder a elementos específicos usando índices o nombres de columnas.
# Acceder a una columna por nombre df$Nombre # Acceder a una columna por índice df[, 1] # Acceder a una fila por índice df[1, ] # Acceder a un elemento específico df[1, "Edad"]
Manipulación de Data Frames
Añadir y Eliminar Columnas
# Añadir una nueva columna df$Genero <- c("F", "M", "M", "F") # Eliminar una columna df$Genero <- NULL
Filtrar Filas
Ordenar Data Frames
Ejercicios Prácticos
Ejercicio 1: Creación y Exploración
- Crea un data frame con las siguientes columnas:
Nombre
,Edad
,Ciudad
. - Llena el data frame con al menos 5 filas de datos.
- Muestra la estructura y el resumen del data frame.
Solución
# Crear vectores nombres <- c("Ana", "Luis", "Carlos", "Marta", "Jorge") edades <- c(23, 25, 30, 22, 28) ciudades <- c("Madrid", "Barcelona", "Valencia", "Sevilla", "Bilbao") # Crear data frame df <- data.frame(Nombre = nombres, Edad = edades, Ciudad = ciudades) # Mostrar la estructura y el resumen str(df) summary(df)
Ejercicio 2: Manipulación
- Añade una columna
Puntuacion
con valores numéricos. - Filtra las filas donde la
Edad
sea mayor a 24. - Ordena el data frame por la columna
Puntuacion
.
Solución
# Añadir columna Puntuacion df$Puntuacion <- c(85.5, 90.3, 78.9, 88.1, 92.0) # Filtrar filas df_filtrado <- df[df$Edad > 24, ] # Ordenar por Puntuacion df_ordenado <- df[order(df$Puntuacion), ] # Mostrar el data frame ordenado print(df_ordenado)
Conclusión
Los data frames son una herramienta fundamental en R para manejar y analizar datos. En esta sección, hemos aprendido cómo crear, explorar y manipular data frames. Estos conceptos son esenciales para cualquier análisis de datos en R y serán la base para temas más avanzados en los siguientes módulos.
Programación en R: De Principiante a Avanzado
Módulo 1: Introducción a R
- Introducción a R y RStudio
- Sintaxis Básica de R
- Tipos y Estructuras de Datos
- Operaciones y Funciones Básicas
- Importación y Exportación de Datos
Módulo 2: Manipulación de Datos
- Vectores y Listas
- Matrices y Arreglos
- Data Frames
- Factores
- Manipulación de Datos con dplyr
- Manipulación de Cadenas
Módulo 3: Visualización de Datos
- Introducción a la Visualización de Datos
- Gráficos Base R
- Fundamentos de ggplot2
- ggplot2 Avanzado
- Visualizaciones Interactivas con plotly
Módulo 4: Análisis Estadístico
- Estadísticas Descriptivas
- Distribuciones de Probabilidad
- Pruebas de Hipótesis
- Correlación y Regresión
- ANOVA y Pruebas Chi-Cuadrado
Módulo 5: Manejo Avanzado de Datos
- Manejo de Fechas y Tiempos
- Reestructuración de Datos
- Trabajo con Grandes Conjuntos de Datos
- Web Scraping
- APIs y JSON
Módulo 6: Conceptos Avanzados de Programación
- Escritura de Funciones
- Depuración y Manejo de Errores
- Programación Orientada a Objetos en R
- Programación Funcional
- Computación Paralela
Módulo 7: Aprendizaje Automático con R
- Introducción al Aprendizaje Automático
- Preprocesamiento de Datos
- Aprendizaje Supervisado
- Aprendizaje No Supervisado
- Evaluación y Ajuste de Modelos
Módulo 8: Temas Especializados
- Análisis de Series Temporales
- Análisis de Datos Espaciales
- Minería de Textos y Procesamiento de Lenguaje Natural
- Bioinformática con R
- Análisis de Datos Financieros