Objetivo

Generar números aleatorio y representarlo en una gráfica campana o de Gauss

Descripción

Se utiliza la función rnorm() para generar aleatorios.

\[ \sigma \text { se requiere } \\ \mu \text { se necesita} \]

Desarrollo

Cargar librerías

library(cowplot) # Gráficos
library(ggplot2) # Gráfico
library(mosaic)

Inicializar variables

media <- 5
desv <- 2

Genera números aleatorios

n <- 100
numeros <- rnorm(n = n, mean = media, sd = desv)

Mostrar números aleatorios

numeros
##   [1]  5.883913  5.442420  6.943465  4.979429  9.896310  4.207674  8.361425
##   [8]  6.006011  3.698223  8.407870  3.885962  1.701978  2.159215  5.083282
##  [15]  3.419712  4.224217  5.537837  5.420614  3.630576  8.047111  8.234826
##  [22]  6.807786  3.842514  3.887710  4.043153  4.882533  5.452063  4.519735
##  [29]  7.990351  7.177183  4.890745  3.729536  4.439470  3.446041  3.133515
##  [36]  4.568649  9.054571  6.590641  2.056679  3.980545  6.954199  3.470808
##  [43]  5.532373  6.850622  7.084323  4.211267  3.397825  2.762871  5.851189
##  [50]  5.764024  2.933336  4.038237  2.353062  8.758337  4.765961  3.296203
##  [57]  4.682382  5.221840  6.453820  6.240812  3.168924  6.741808  3.086879
##  [64]  5.879915  6.157772  4.488388 10.570272  4.480945  6.306169  7.567795
##  [71]  6.825096  4.746248  8.012838  6.531422  3.961455  5.294372  5.533932
##  [78]  1.476451  4.634597  9.805363  4.122096  3.857513  3.673397  5.706412
##  [85]  7.085409  3.754443  1.789413  6.496742  4.250091  4.195541  8.861469
##  [92]  8.018085  4.938707  6.542580  3.561365  6.712767  5.136847  3.426159
##  [99]  7.386327  7.739719

Gráfica de campana

Transformar números a data.frame

numeros <- data.frame(nums = numeros)

Gráfica de campana con ggplot

g1 <- ggplot(data = numeros) +
  geom_point(aes(x=nums, y= dnorm(x = nums, mean = media, sd = desv)), col='red') +
  geom_line(aes(x=nums, y= dnorm(x = nums, mean = media, sd = desv)), col='blue')

Gráfica de campana con mosaic

g2 <- plotDist(dist = "norm", mean = media, sd = desv)

Las dos gráficas al mismo tiempo

plot_grid(g1, g2, nrow=1, ncol=2)

Calcular probabilidades

¿Cual es la probabildia x <= 2?

\[ P (x <= 2) \]

prob <- round(pnorm(q = 2, mean = media, sd = desv) * 100, 2)
prob
## [1] 6.68

Graficando el área bajo la curva

g3 <- plotDist("norm", mean = media, sd = desv, groups = x <= 2, type = "h", xlab ="Valores de la variable continua X", ylab = "Densidad", main='Densidad',sub = paste('Me= ', media, ' D.St=', desv, "P=",prob )) 

Las tres gráficas al mismo tiempo

plot_grid(g1, g2, g3, nrow=2, ncol=2)

¿Cual es la probabildia x >= 2?

\[ 1 - P(x < 2) \]

prob1 <- round((1 - pnorm(q = 2, mean = media, sd = desv)) * 100, 2)


prob2 <- round(pnorm(q = 2, mean = media, sd = desv, lower.tail = FALSE) * 100, 2 )

prob1; prob2
## [1] 93.32
## [1] 93.32

Graficando

Graficando el área bajo la curva

g4 <- plotDist("norm", mean = media, sd = desv, groups = x >= 2, type = "h", xlab ="Valores de la variable continua X", ylab = "Densidad", main='Densidad',sub = paste('Me= ', media, ' D.St=', desv, "P=",prob1 )) 

Las cuatro gráficas al mismo tiempo

plot_grid(g1, g2, g3, g4, nrow=2, ncol=2)

¿Cual es la probabilidad de que esté entre 2 y 4?

\[ Prob = P(x=4) - P(x=2) \]

Calculando la probabilidad

prob <- pnorm(q = 4, mean = media, sd = desv) - pnorm(q = 2, mean = media, sd = desv)
prob <- round(prob * 100, 2)
prob
## [1] 24.17

Gráfica

g5 <- plotDist("norm", mean = media, sd = desv, groups = x >= 2 & x <=4, type = "h", xlab ="Valores de la variable continua X", ylab = "Densidad", main='Densidad',sub = paste('Me= ', media, ' D.St=', desv, "P=",prob )) 

g5