Objetivo: Identificar en una distribución normal, los valores de la curva o los valores de la función de densidad, graficar el área bajo la curva y calcular probabildiades.

Descripción: Realizar distribuciones de probabilidad conforme a la distribución de probabilidad normal a partir de valores iniciales de los ejercicios identificando y visualizando la función de densidad y calculando probabilidades.

Paso 1 : Cargar librerias

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(mosaic)
## Warning: package 'mosaic' was built under R version 4.0.3
## 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 object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## 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
library(readr)
library(ggplot2)
library(knitr)

FUENTE: https://scielo.conicyt.cl/scielo.php?script=sci_arttext&pid=S0717-75182008000400003

Caso de mediciones del cuerpo humano (Peso y Estatura)

datos <- read.table("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/datos/body.dat.txt", quote="\"", comment.char="")

datos <- as.data.frame(datos)

colnames(datos)[23:25] <- c("peso", "estatura", "genero")

# Solo nos interesan las tres últimas columnas
datos <- select(datos, estatura, peso, genero)
head(datos)
##   estatura peso genero
## 1    174.0 65.6      1
## 2    175.3 71.8      1
## 3    193.5 80.7      1
## 4    186.5 72.6      1
## 5    187.2 78.8      1
## 6    181.5 74.8      1
tail(datos)
##     estatura peso genero
## 502    157.5 76.8      0
## 503    176.5 71.8      0
## 504    164.4 55.5      0
## 505    160.7 48.6      0
## 506    174.0 66.4      0
## 507    163.8 67.3      0
ggplot(datos, aes(x = 1:nrow(datos), y = peso)) +
  geom_point(colour = "blue") 

ggplot(datos, aes(x = 1:nrow(datos), y = estatura)) +
  geom_point(colour = "blue")

ggplot(datos) +
  geom_histogram(aes(x = peso))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

ggplot(datos) +
  geom_histogram(aes(x = estatura))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

datos$genero <- as.factor(datos$genero)

masculinos <- filter(datos, genero == 1)

femeninos <- filter(datos, genero == 0)

media.peso.m <- mean(masculinos$peso)
desv.std.peso.m <- sd(masculinos$peso)


media.peso.f <- mean(femeninos$peso)
desv.std.peso.f <- sd(femeninos$peso)
media.estatura.m <- mean(masculinos$estatura)
desv.std.estatura.m <- sd(masculinos$estatura)


media.estatura.f <- mean(femeninos$estatura)
desv.std.estatura.f <- sd(femeninos$estatura)
plotDist("norm", mean = media.peso.m, sd = desv.std.peso.m, groups = x <= 60, type = "h", xlab = "Peso Hombres", ylab = "Densidad" )

prob <- pnorm(q = 60, mean = media.peso.m, sd = desv.std.peso.m)
paste("La probabilidad de encontrar a una persona masculino que pese menor de 60 kilogramos es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que pese menor de 60 kilogramos es de: 4.218 %"
plotDist("norm", mean = media.peso.f, sd = desv.std.peso.f, groups = x <= 60, type = "h", xlab = "Peso Mujeres", ylab = "Densidad" )

prob <- pnorm(q = 60, mean = media.peso.f, sd = desv.std.peso.f)
paste("La probabilidad de encontrar a una persona femenino que pese menor de 50 kilogramos es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que pese menor de 50 kilogramos es de: 47.5107 %"
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 180, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

prob <- pnorm(q = 180, mean = media.estatura.m, sd = desv.std.estatura.m, lower.tail = FALSE)
paste("La probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 180 de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 180 de: 37.6814 %"
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 190, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

prob <- pnorm(q = 190, mean = media.estatura.m, sd = desv.std.estatura.m, lower.tail = FALSE)
paste("La probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 190 de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 190 de: 4.4012 %"
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

prob <- pnorm(q = 170, mean = media.estatura.m, sd = desv.std.estatura.m) - pnorm(q = 160, mean = media.estatura.m, sd = desv.std.estatura.m)
paste("La probabilidad de encontrar a una persona masculino que tenga una estatura entre 160 y 170 centímeros de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que tenga una estatura entre 160 y 170 centímeros de: 13.3723 %"
  1. ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímeros? Graficar la función en donde 190≤x≤195 Grafíca de desidad
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 190 & x <= 195, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

prob <- pnorm(q = 195, mean = media.estatura.m, sd = desv.std.estatura.m) - pnorm(q = 190, mean = media.estatura.m, sd = desv.std.estatura.m)
paste("La probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímeros es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímeros es de: 3.5858 %"
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 180, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

prob <- pnorm(q = 180, mean = media.estatura.f, sd = desv.std.estatura.f, lower.tail = FALSE)
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 180 de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 180 de: 1.0403 %"
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 190, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

prob <- pnorm(q = 190, mean = media.estatura.f, sd = desv.std.estatura.f, lower.tail = FALSE)
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 190 de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 190 de: 0.0062 %"
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

prob <- pnorm(q = 170, mean = media.estatura.f, sd = desv.std.estatura.f) - pnorm(q = 160, mean = media.estatura.f, sd = desv.std.estatura.f)
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura entre 160 y 170 centímeros de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura entre 160 y 170 centímeros de: 55.5039 %"
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 190 & x <= 195, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

prob <- pnorm(q = 195, mean = media.estatura.f, sd = desv.std.estatura.f) - pnorm(q = 190, mean = media.estatura.f, sd = desv.std.estatura.f)
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros es de: 0.006 %"
plotDist("norm", mean = mean(datos$estatura), sd = sd(datos$estatura), groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Hombres y Mujeres", ylab = "Densidad" )

prob <- pnorm(q = 170, mean = mean(datos$estatura), sd = sd(datos$estatura)) - pnorm(q = 160, mean = mean(datos$estatura), sd = sd(datos$estatura))
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros es de: 33.3526 %"

Los sueldos mensuales en una empresa siguen una distribución normal con media de 1200 soles, y desviación estándar de 200 soles. ¿Qué porcentaje de trabajadores ganan entre 1000 y 1550 soles?(matemovil, n.d.)

media <- 1200
desv.stadandar <- 200
plotDist("norm", mean = media, sd = desv.stadandar, groups = x >= 1000 & x <= 1550, type = "h", xlab = "Ganancias de trabajadores en soles", ylab = "Densidad" )

prob <- pnorm(q = 1550, mean = media, sd = desv.stadandar) - pnorm(q = 1000, mean = media, sd = desv.stadandar)
paste("El porcentaje de que una persona gane entre 1000 y 1550 soles es de:", round(prob * 100, 4), "%")
## [1] "El porcentaje de que una persona gane entre 1000 y 1550 soles es de: 80.1286 %"

INTERPRETACION

En este caso numero 20 trabajamos con el tema de distribucion normal, el cual es algo similar al tema anterior, se nos pide al igaul que en anteriores casos calcularar probabilidades, en las cuales obtuvimos los siguientes resultados:

En el Ejercicio #1: estamos buscando lo que son las mediciones del cuerpo humano y estas son la estatura y el peso, para esto nos piden que encontremos lo siguiente:

En el Ejercicio #2: se pide encontral el porcentaje de trabajadores ganan entre 1000 y 1550 soles