Introducción

Descripción

Este práctica simula datos poblacionales, calcula muestra, genera gráficos y guarda los datos en Excel.


Preparar el ambiente de trabajo

Limpiar el entorno

# Borra todos los objetos del entorno
rm(list = ls())
# Libera memoria
gc()
##          used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 543951 29.1    1210915 64.7   686460 36.7
## Vcells 993639  7.6    8388608 64.0  1876155 14.4
# Muestra en qué carpeta estás trabajando
getwd()
## [1] "C:/Users/brand/Downloads"
#Ubicar carpeta en la pestaña de Session > Set working > Choose

Instalar paqueterías necesarias

Instalar

chooseCRANmirror(graphics = FALSE, ind = 1)
packages <- c("ggplot2", "gridExtra", "openxlsx")
install_if_missing <- function(pkg) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}
invisible(sapply(packages, install_if_missing))

Activar librerías

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.4.3
library(openxlsx)

Simulación de Datos

Código para simular datos

set.seed(123) # Para reproducibilidad
n_total <- 1000
edad <- round(rnorm(n_total, mean=35, sd=12))
edad <- ifelse(edad < 0, 0, edad) # No edades negativas
summary(edad)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1.00   27.00   35.00   35.21   43.00   74.00

Cálculo de muestra

z <- 1.96  # para 95% confianza
p <- 0.5
e <- 0.05  # margen de error
N <- n_total

n_muestra <- (z^2 * p * (1 - p)) / e^2
n_muestra_ajustada <- (n_muestra * N) / (n_muestra + N - 1)
n_muestra_ajustada <- ceiling(n_muestra_ajustada)
n_muestra_ajustada
## [1] 278

Selección aleatoria de la muestra

set.seed(456)
muestra <- sample(edad, n_muestra_ajustada)
df_muestra <- data.frame(Edad = muestra)
head(df_muestra)
##   Edad
## 1   63
## 2   44
## 3   37
## 4   28
## 5   36
## 6   28

Visualizacion de datos en gráficos

Graficos

#Graficos de la población

poblacion_df <- data.frame(Edad = edad)

p1 <- ggplot(poblacion_df, aes(x = Edad)) + 
  geom_histogram(binwidth = 5, fill = "lightblue", color = "black") +
  labs(title = "Histograma de la Población Completa", x = "Edad", y = "Frecuencia") +
  theme_minimal()

p2 <- ggplot(poblacion_df, aes(y = Edad)) + 
  geom_boxplot(fill = "lightblue") +
  labs(title = "Boxplot de la Población Completa", y = "Edad") +
  theme_minimal()
# Mostrar en una cuadrícula 2x2
grid.arrange(p1, p2, ncol = 2)

#Graficos de la muestra

muestra_df <- df_muestra

p3 <- ggplot(muestra_df, aes(x = Edad)) + 
  geom_histogram(binwidth = 5, fill = "skyblue", color = "black") +
  labs(title = "Histograma de la Muestra", x = "Edad", y = "Frecuencia") +
  theme_minimal()

p4 <- ggplot(muestra_df, aes(y = Edad)) + 
  geom_boxplot(fill = "lightgreen") +
  labs(title = "Boxplot de la Muestra", y = "Edad") +
  theme_minimal()
# Mostrar en una cuadrícula 2x2
grid.arrange(p3, p4, ncol = 2)


Exportar datos a CSV

library(openxlsx)
write.xlsx(df_muestra, "muestra_edad.xlsx")