1 Preparar el ambiente de trabajo

1.1 Limpiar el entorno

# Borra todos los objetos del entorno
rm(list = ls())
# Libera memoria
gc()
##          used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 531136 28.4    1187338 63.5   660385 35.3
## Vcells 966540  7.4    8388608 64.0  1769432 13.5
# Muestra en qué carpeta estás trabajando
getwd()
## [1] "C:/Users/brand/iCloudDrive/DESK2025SAID/CLASES 20262/LABORATORIO 4/practica5_primerexamen/practica5_resuelto/Markdawnsimulación"
#Ubicar carpeta en la pestaña de Session > Set working > Choose

2 Simulación de datos

2.1 Código para simular datos

Simularemos datos de 1050 personas con gastos e ingresos aleatorios bajo una distribución normal.

set.seed(321) 
n <- 1050
ID <- paste0("ID_", seq_len(n))
ingreso <- round(rlnorm(n, meanlog = 9, sdlog = 0.5),0)
gasto <- round(ingreso * runif(n, 0.6, 0.9),0)
datos <- data.frame(
  ID = ID,
  Ingreso = ingreso,
  Gasto = gasto
)

head(datos)
##     ID Ingreso Gasto
## 1 ID_1   19005 15198
## 2 ID_2    5676  4377
## 3 ID_3    7052  4689
## 4 ID_4    7633  6309
## 5 ID_5    7616  5888
## 6 ID_6    9266  6447


3 Resumen de datos

3.1 Estadística Descriptiva

resumen <- summary(datos[, c("Ingreso", "Gasto")])
resumen
##     Ingreso          Gasto      
##  Min.   : 2001   Min.   : 1339  
##  1st Qu.: 5842   1st Qu.: 4414  
##  Median : 8192   Median : 6191  
##  Mean   : 9368   Mean   : 6998  
##  3rd Qu.:11647   3rd Qu.: 8673  
##  Max.   :34736   Max.   :28815

3.2 Exportar a excel

if (!require(openxlsx)) install.packages("openxlsx")
## Warning: package 'openxlsx' was built under R version 4.3.3
library(openxlsx)

resumen_excel <- data.frame(
  Estadistica = names(summary(datos$Ingreso)),
  Ingreso = as.numeric(summary(datos$Ingreso)),
  Gasto = as.numeric(summary(datos$Gasto))
)

wb <- createWorkbook()
addWorksheet(wb, "Resumen")
writeData(wb, "Resumen", resumen_excel)

saveWorkbook(wb, "resumen_datos.xlsx", overwrite = TRUE)

4 Visualización de datos

4.1 Gasto - Histograma

hist(datos$Gasto,
     probability = TRUE,
     main = "Distribución del gasto",
     xlab = "Gasto",
     col = "lightgreen",
     border = "white")

curve(dnorm(x,
            mean = mean(datos$Gasto),
            sd = sd(datos$Gasto)),
      col = "red",
      lwd = 2,
      add = TRUE)

4.2 Dispersión ingreso - gasto

plot(datos$Ingreso, datos$Gasto,
     main = "Relación entre ingreso y gasto",
     xlab = "Ingreso",
     ylab = "Gasto",
     pch = 19,
     col = rgb(0.1, 0.2, 0.6, 0.5))

abline(lm(Gasto ~ Ingreso, data = datos),
       col = "red",
       lwd = 2)


5 Exportar datos a excel

write.csv(datos, "practica5B.csv", row.names = FALSE)