Listas, listas nombradas y organización avanzada de información
Dimensión: 1D (una dimensión)
Restricción: Todos los elementos del mismo tipo
Dimensión: 2D (filas y columnas)
Restricción: Todos los elementos del mismo tipo
Dimensión: 2D (filas y columnas)
Flexibilidad: Cada columna puede ser de tipo diferente
Dimensión: 1D pero puede contener cualquier cosa
Flexibilidad: Puede mezclar tipos y estructuras
Conclusión: Las listas son la estructura más flexible en R, permitiendo combinar diferentes tipos de datos y estructuras en un solo objeto
Problema 1: datos heterogéneos
Un experimento químico puede tener: nombre (texto), temperatura (número), resultados (vector), y condiciones (data frame)
Problema 2: organización lógica
Necesitamos agrupar información relacionada de manera que tenga sentido conceptualmente
Problema 3: análisis complejos
Los análisis estadísticos devuelven múltiples resultados (coeficientes, p-valores, gráficos, etc.)
Organización clara
Flexibilidad total
Eficiencia en el código
Analogía: Piensa en una lista como un archivador donde cada cajón puede contener diferentes tipos de documentos, carpetas, o incluso otros archivadores más pequeños
Conclusión clave: En R, las listas nombradas son el equivalente más directo y práctico a los diccionarios de Python. Las clases existen pero son más avanzadas y no siempre necesarias
Una lista es una estructura de datos que puede contener elementos de diferentes tipos y estructuras. Es como un contenedor flexible que puede almacenar cualquier cosa.
Tres formas de acceder:
Diferencia importante:
[[1]]
→ extrae el elemento directamente[1]
→ extrae una sublista con ese elementoLas listas nombradas son listas donde cada elemento tiene un nombre asociado. Esto hace el código más legible y es el equivalente directo a los diccionarios en Python.
unlist()
- convierte lista a vectorstr()
- muestra estructura completalengths()
- longitud de cada elementorapply()
- aplica función recursivamenteOrganización lógica
Análisis simplificado
Reutilización
Los análisis estadísticos en R generan múltiples resultados: coeficientes, p-valores, residuos, predicciones, etc. Las listas son perfectas para almacenar todo esto.
En R, las clases permiten crear tipos de objetos personalizados con comportamientos específicos. El sistema S3 es el más simple y común.
Una clase S3 es simplemente una lista con un atributo "class". Esto permite que funciones genéricas (como print()
, summary()
, plot()
) se comporten de manera diferente según el tipo de objeto.
Las funciones genéricas automáticamente usan el método correcto según la clase del objeto
Crea una lista nombrada que represente la información completa de un estudiante con las siguientes características:
Información a incluir:
Agrega funcionalidad para:
Crea una base de datos de compuestos químicos usando una lista de listas nombradas. Cada compuesto debe tener propiedades específicas.
Información de cada compuesto:
Listas en R
Listas nombradas
Clases S3
Usa vectores cuando:
Usa data frames cuando:
Usa listas cuando:
Nomenclatura clara
Validación de entrada
Documentación
Para profundizar:
?list
, ?class