#Objetivo.
#Resolver aspectos de casos de probabilidad en variables aleatorias continuas mediante la distribución de probabilidad uniforme. Determinar, media o valore esperado, varianza y desviación estándar de distribuciones de variables continuas.
#Descripción
#Identificar casos relacionados con variables continuas y distribuciones de probabilidad uniforme para elaborar mediante programación R y markdown. Se incluye en el caso, media o valor esperado, varianza y desviación estándar de distribuciones de variables continuas. Los casos son identificados de la literatura relacionada con variables aleatorias continuas y distribución de probabilidad uniforme. Se deben elaborar dos ejercicios en este caso 16 encontrados en la literatura.
#1. Cargar librerías.
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(knitr)
library(mosaic)
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## The 'mosaic' package masks several functions from core packages in order to add
## additional features. The original behavior of these functions should not be affected by this.
##
## Attaching package: 'mosaic'
## The following object is masked from 'package:Matrix':
##
## mean
## The following objects are masked from 'package:dplyr':
##
## count, do, tally
## The following object is masked from 'package:ggplot2':
##
## stat
## The following objects are masked from 'package:stats':
##
## binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
## quantile, sd, t.test, var
## The following objects are masked from 'package:base':
##
## max, mean, min, prod, range, sample, sum
options(scipen = 999) # Notación normal
#2. Identificar ejercicios de la literatura. Para cada caso se pueden solicitar:
#2.1.Supongamos que nos ponemos en medio de la calle y a cada persona mayor de 18 años le preguntamos su estatura. Hacemos esto hasta tener una muestra de datos y, a continuación, con esta informacion determinamos que los valores estan dentro de un interbalo de 140 cm y 210 cm.
#2.1.1. Generar la función de densidad de la distribución.
#f(n)={1210−140=1700, para 140≤x≤210, en cualquier otro caso
a.min <- 140
b.max <- 210
altura <- 1 / (b.max -a.min)
#2.1.2. Generar la gráfica de la función.
plotDist("norm", mean = 185, sd = 5, groups = x > 140 & x < 210, type = "h" )

#2.1.3. Resolver probabilidad de un rango con un valor mínimo y un valor máximo. La soluciones deben ser de manera aritmética y utilizando la función de densidad dunif() para comprobar los resultados iguales.
#Solución aritmética.
#Determine las siguientes probabilidades:
#P(170 ≤ X ≤ 210)
a.min <- 140
b.max <- 210
altura <- 1 / (b.max -a.min)
a <- 170
b <- 210
p.x <- altura * (b-a)
paste("La probabilidad de que la estatura se encuentre entre ", a , " y ", b, " centimetros es del:", p.x * 100, "%")
## [1] "La probabilidad de que la estatura se encuentre entre 170 y 210 centimetros es del: 57.1428571428571 %"
#Solución por medio de la función de densidad dunif().
#Determine las siguientes probabilidades:
#P(170 ≤ X ≤ 210)
a.min <- 140
b.max <- 210
altura <- 1 / (b.max -a.min)
a <- 170
b <- 210
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max)
paste("La probabilidad de que la estatura se encuentre entre ", a , " y ", b, " centimetros es del:", p.x * 100, "%")
## [1] "La probabilidad de que la estatura se encuentre entre 170 y 210 centimetros es del: 57.1428571428571 %"
#2.1.4. Determinar Valor esperado o media, varianza y desviación estándar.
#Valor Esperado.
#E(x)=140+2102
VE <- (a.min + b.max) / 2
paste("El valor esperado es de: ", VE)
## [1] "El valor esperado es de: 175"
#Varianza.
#Var(x)=(210−140)212
varianza.x <- (b.max - a.min)^2 / 12
paste("La varianza es: ", round(varianza.x,2))
## [1] "La varianza es: 408.33"
#Desviación Estándar.
#α=Var(x)−−−−−−√
ds <- sqrt(varianza.x)
paste("La desviación estándar es igual a : ", round(ds, 2), " que significa que ese valor se dispersa conforme al valor medio esperado de ", VE)
## [1] "La desviación estándar es igual a : 20.21 que significa que ese valor se dispersa conforme al valor medio esperado de 175"
#Dentro de este ejercicio determinamos los valores de estatura de distintas personas, para con ellos determinar varios valores, entre ellos encontramos la densidad de la distribución, para ello seguimos la formula y este valor nos permite graficar una curva que de manera visual nos ayuda a ver la densidad de los valores y como se van distribuyendo de manera uniforme debido a los valores antes generados, siguiendo la misma formula podemos volverla a aplicar para encontrar un rango especifico dentro de los valores mínimos y máximos permitidos, también es posible usar la función dunif() para determinar este valor.