Conceptos Principales del Lenguaje R - Ampliados y Enriquecidos
A continuación presento un análisis exhaustivo de estos conceptos fundamentales:
1. Gestión de Proyectos en R
Concepto Base
La clase enfatiza la importancia de usar proyectos en RStudio para organizar el trabajo de manera estructurada, con directorios relativos y configuraciones específicas.
Ampliación Conceptual
Los proyectos de R son contenedores organizacionales que establecen un entorno de trabajo específico. Cuando se crea un proyecto:
- Se establece un directorio de trabajo específico
- Se inicia una nueva sesión de R
- Se cargan las opciones específicas del proyecto
- Se mantiene un historial independiente
Estructura Recomendada de Directorios:
proyecto/
├── data/
│ ├── raw_data/ # Datos originales (solo lectura)
│ └── processed_data/ # Datos procesados
├── R/ # Funciones personalizadas
├── scripts/ # Scripts principales
├── output/ # Resultados y gráficas
├── Rmd/ # Documentos R Markdown
└── README.md # Documentación del proyecto
Esta estructura facilita la reproducibilidad y colaboración, permitiendo que el código funcione independientemente del sistema operativo o la ubicación específica.
2. Estructuras de Datos Fundamentales
2.1 Vectores
Concepto Base
Los vectores son conjuntos ordenados de datos del mismo tipo, creados con la función c().
Ampliación Conceptual
Los vectores son la unidad básica de datos en R. Características esenciales:
- Homogeneidad: Todos los elementos deben ser del mismo tipo
- Indexación: Comienza en 1 (no en 0 como Python)
- Operaciones vectorizadas: Las operaciones matemáticas se aplican elemento por elemento
Tipos de Vectores:
numeric: Números reales (1.5, 3.14)integer: Números enteros (1L, 5L)character: Cadenas de texto ("hello", "world")logical: Valores lógicos (TRUE, FALSE)complex: Números complejos (1+2i)
Creación de Secuencias:
1:10 # Secuencia 1 a 10
seq(0, 1, 0.1) # Secuencia con incrementos específicos
rep("A", 5) # Repetición de elementos
2.2 Regla de Coerción
Concepto Base
Cuando se mezclan tipos de datos diferentes en un vector, R convierte automáticamente todos los elementos al tipo más general.
Ampliación Conceptual
La coerción de tipos sigue una jerarquía específica:
logical < integer < numeric < complex < character
Esta regla es fundamental para entender comportamientos aparentemente inesperados:
c(TRUE, 1, "hello") # Resultado: "TRUE" "1" "hello"
Coerción Explícita:
as.numeric(): Convierte a numéricoas.character(): Convierte a carácteras.logical(): Convierte a lógico
2.3 Regla del Reciclaje
Concepto Base
En operaciones entre vectores de diferentes longitudes, el vector más corto se repite para igualar la longitud del más largo.
Ampliación Conceptual
La regla del reciclaje es una característica única de R que permite operaciones flexibles:
c(1, 2, 3) + c(10, 20) # 10+1, 20+2, 10+3
# Resultado: 11 22 13
Advertencias: R emite un warning cuando la longitud del vector largo no es múltiplo del corto, indicando un posible error lógico.
2.4 Matrices y Arreglos
Concepto Base
Las matrices son estructuras bidimensionales, mientras que los arreglos pueden tener múltiples dimensiones.
Ampliación Conceptual
Matrices: Son vectores con atributo de dimensión. Internamente se almacenan como vectores columna por columna:
matrix(1:6, nrow=2, ncol=3, byrow=TRUE)
Arreglos: Generalizan matrices a múltiples dimensiones:
array(1:24, dim=c(2,3,4)) # 2x3x4 array
Operaciones Matriciales:
- Elemento por elemento:
*,+,-,/ - Algebra lineal:
%*%(multiplicación matricial) - Transpuesta:
t()
2.5 Factores
Concepto Base
Los factores representan variables categóricas con niveles predefinidos.
Ampliación Conceptual
Los factores son esenciales para análisis estadístico:
- Nominales: Sin orden inherente (
"rojo", "azul", "verde") - Ordinales: Con orden específico (
"bajo" < "medio" < "alto")
factor(c("A", "B", "A"), levels=c("A", "B", "C"))
ordered(c("bajo", "medio", "alto"))
Importancia: Los modelos estadísticos tratan los factores de manera especial, aplicando contrastes apropiados para variables categóricas.
3. Listas y Data Frames
3.1 Listas
Concepto Base
Las listas pueden contener elementos de diferentes tipos y tamaños.
Ampliación Conceptual
Las listas son la estructura más flexible en R:
list(
numeros = 1:5,
texto = "hello",
matriz = matrix(1:4, 2, 2),
sublista = list(a=1, b=2)
)
Indexación:
lista: Retorna una lista con el primer elementolista[]: Retorna directamente el primer elementolista$nombre: Acceso por nombre
3.2 Data Frames
Concepto Base
Los data frames son estructuras tabulares similares a hojas de cálculo, donde cada columna puede ser de diferente tipo.
Ampliación Conceptual
Los data frames son listas especializadas donde cada elemento (columna) tiene la misma longitud:
data.frame(
id = 1:3,
nombre = c("Ana", "Luis", "María"),
activo = c(TRUE, FALSE, TRUE)
)
Ventajas:
- Mezclan tipos de datos
- Indexación bidimensional:
df[filas, columnas] - Compatibilidad con funciones estadísticas
- Base para análisis de datos
4. Valores Especiales
Concepto Base
R maneja varios valores especiales para situaciones como datos faltantes o resultados matemáticos indefinidos.
Ampliación Conceptual
Valores Especiales en R:
NA(Not Available): Dato faltante- Preserva el tipo:
NA_integer_,NA_character_ - Contagioso: operaciones con
NAresultan enNA
- Preserva el tipo:
NULL: Objeto vacío o inexistente- Longitud cero
- No puede ser parte de vectores
NaN(Not a Number): Resultado matemático indefinido0/0,sqrt(-1)- Subtipo de
NA
Inf/-Inf: Infinito positivo/negativo1/0=Inf- Permite aritmética:
Inf + 1=Inf
Funciones de Verificación:
is.na(), is.null(), is.nan(), is.infinite()
5. R Markdown y Documentación Reproducible
Concepto Base
R Markdown combina código R con texto para crear documentos reproducibles.
Ampliación Conceptual
R Markdown es fundamental para la ciencia de datos reproducible:
Componentes:
- YAML Header: Metadatos y configuración
- Chunks de código: Bloques ejecutables entre ````{r}`
- Markdown: Texto formateado
Opciones de Chunks:
eval: Evaluar código (TRUE/FALSE)echo: Mostrar código fuenteinclude: Incluir en output finalwarning/message: Mostrar advertencias/mensajes
Ventajas:
- Documenta proceso analítico
- Genera múltiples formatos (HTML, PDF, Word)
- Facilita colaboración y revisión por pares
6. Importación de Datos
Concepto Base
R puede leer diversos formatos de archivos usando funciones específicas o paquetes como rio.
Ampliación Conceptual
Estrategias de Importación:
Formatos Comunes:
- CSV:
read.csv(),readr::read_csv() - Excel:
readxl::read_excel() - SPSS/Stata/SAS:
haven::read_spss(),haven::read_stata()
Paquete rio:
library(rio)
datos <- import("archivo.csv") # Detecta formato automáticamente
export(datos, "salida.xlsx") # Exporta en formato deseado
Mejores Prácticas:
- Usar rutas relativas al proyecto
- Documentar origen de datos
- Preservar datos originales (read-only)
- Validar importación con
str(),summary()
7. Análisis Exploratorio de Datos
Concepto Base
La clase introduce gráficas básicas para explorar datos importados.
Ampliación Conceptual
Gráficos Base en R:
plot() # Gráfico genérico
hist() # Histograma
boxplot() # Diagramas de caja
barplot() # Gráfico de barras
pairs() # Matriz de correlación
Funciones de Resumen:
summary() # Estadísticas descriptivas
str() # Estructura del objeto
head() # Primeros elementos
tail() # Últimos elementos
table() # Tablas de frecuencia
8. Encuesta ENIGH - Contexto de Aplicación
Concepto Base
La clase utiliza datos de la Encuesta Nacional de Ingresos y Gastos de los Hogares (ENIGH) del INEGI.
Ampliación Conceptual
La ENIGH es una encuesta bianual fundamental para estudios socioeconómicos en México:
Características:
- Muestra representativa nacional (~105,000 viviendas en 2024)
- Microdatos de ingresos, gastos y características demográficas
- Base para políticas públicas y estudios de desigualdad
- Formato de datos complejos (múltiples tablas relacionadas)
Variables Clave:
- Ingresos corrientes por fuentes
- Gastos por categorías
- Características del hogar y vivienda
- Factores de expansión para representatividad nacional
Aplicaciones:
- Análisis de pobreza y desigualdad
- Estudios de consumo alimentario
- Evaluación de programas sociales
- Investigación sobre mercados laborales
Conclusión
Los conceptos presentados en la clase forman la base fundamental para el análisis de datos en R. La progresión desde estructuras simples (vectores) hasta complejas (data frames) y la integración con herramientas de documentación (R Markdown) y gestión de proyectos, proporciona una base sólida para el trabajo profesional en ciencia de datos.
La elección de utilizar datos reales (ENIGH) demuestra la relevancia práctica de estos conceptos en investigación socioeconómica, preparando a los estudiantes para aplicaciones del mundo real donde la comprensión profunda de las estructuras de datos es esencial para análisis rigurosos y reproducibles.
Hi :)
Matemáticas
Vectores
Álgebra Lineal
Geometría Analítica
Producto Punto
Espacios Vectoriales
Ortogonalidad
Normalización
Funciones
Álgebra
Composición de Funciones
Función Inversa
Combinación de Funciones
Transformaciones Gráficas
Aplicaciones Económicas
Interés Compuesto
Proporcionalidad
R
Data
Machine Learning
Aprendizaje Supervisado
Inteligencia Artificial
Clasificación
Regresión
Deep Learning