# Crea un nuevo proyecto en la carpeta deseada
# Parte 1: Generando la distribución
# Genera una muestra de 100 observaciones de una distribución normal # con media 20.5 y desviación estándar de 5
Y <- rnorm(n = 100, mean = 20.5, sd = 5)
# Ver las primeras observaciones generadas
head(Y)
## [1] 14.41015 19.86219 12.77093 19.25909 18.73736 19.97746
# Ver todas las observaciones generadas (100 observaciones)
Y
## [1] 14.410149 19.862185 12.770932 19.259088 18.737361 19.977463 28.328294
## [8] 24.158364 15.445088 18.498003 20.563220 17.265236 17.992364 17.817393
## [15] 25.494449 15.450731 19.339818 23.639482 27.275755 29.473061 32.345915
## [22] 27.055245 24.468103 19.123094 15.309620 22.426521 10.777667 20.505115
## [29] 17.704311 18.829508 20.743537 16.106336 14.422830 24.511495 15.889581
## [36] 13.493559 24.365731 24.028966 21.568202 34.081965 17.318959 17.951913
## [43] 7.950360 26.099370 23.463784 19.900358 14.297098 19.360361 22.193153
## [50] 20.627934 18.305857 20.839768 23.151973 22.544793 20.274595 15.178031
## [57] 20.447232 17.128596 9.978311 19.543243 23.959217 23.936866 26.191209
## [64] 26.749649 25.404121 11.768743 15.587887 18.761376 19.018605 18.891207
## [71] 21.213220 22.675735 21.715397 18.723487 31.847700 20.577635 14.589453
## [78] 24.657023 21.665411 21.253099 11.174388 25.056504 28.457380 15.214650
## [85] 21.150304 12.178789 28.987897 20.057542 23.621613 21.821372 19.916865
## [92] 20.272811 20.785560 15.990323 17.334010 28.804493 22.591228 17.968111
## [99] 18.261807 23.387627
# Genera el histograma con un título y color gris
hist(Y, main = "Histograma de edades con 100 observaciones", col = "gray", xlab = "Edades", ylab = "Frecuencia")

#Parte 2: Generando el grafico de distribución acumulada
# Primero, ordenar el vector Y en orden ascendente
Y_sorted <- sort(Y)
# Luego, calcular la suma acumulada
cum <- cumsum(Y_sorted)
# Mostrar las primeras observaciones para verificar
head(cum)
## [1] 7.95036 17.92867 28.70634 39.88073 51.64947 63.82826
# Crear un dataframe con los valores originales y la suma acumulada
df <- data.frame(Y_sorted, cum)
# Graficar la distribución acumulada
plot(df$Y_sorted, df$cum, type = "l",
main = "Distribución acumulada de edades con 100 observaciones",
xlab = "Edades",
ylab = "Suma Acumulada",
col = "gray", # color de la línea
lwd = 2) # grosor de la línea

#Parte 3: Generando el grafico de densidad fdp
# Calcular la densidad de Y
density_Y <- density(Y)
# Graficar la función de densidad
plot(density_Y,
main = "Densidad de edades con 100 observaciones",
xlab = "Edades",
ylab = "Densidad",
col = " gray",
lwd = 2)
# Agregar líneas para media y mediana
abline(v = mean(Y), col = "red", lwd = 2, lty = 2)
abline(v = median(Y), col = " blue", lwd = 2, lty = 2)
#Parte 3: Generando el grafico de densidad fdp con ggplot
#Instala el paquete deseado
#Carga el paquete a la librería del proyecto
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.1

# Graficar la función de densidad con ggplot
ggplot(df, aes(x = Y)) +
geom_density(fill = "lightblue", color = "blue", alpha = 0.5) +
labs(title = "Función de Densidad Poblacional",
x = "Edades",
y = "Densidad") +
theme_minimal() +
geom_vline(aes(xintercept = mean(Y)), color = "red", linetype = "dashed", size = 1) + # línea de la media
geom_vline(aes(xintercept = median(Y)), color = "blue", linetype = "dashed", size = 1) # línea de la mediana
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Calcular la media de Y
mean_Y <- mean(Y)
# Mostrar la media
mean_Y
## [1] 20.42292