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.

Descripcion:

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.

Proceso:

Paso 1: Cargar librerias:

library(dplyr)
library(mosaic)
library(readr)
library(ggplot2)
library(knitr)

Paso 2: Ejercicios

Ejercicio 2.1: Caso de mediciones del cuerpo humano (Peso y Estatura)

Cargar datos

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")

datos <- select(datos, estatura, peso, genero)
  • Ver los primeros y ultimos seis registros.
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

Visualizar la dispersion de los datos

  • Diagrama de dispersion del peso
ggplot(datos, aes(x = 1:nrow(datos), y = peso)) +
  geom_point(colour = "orange")

*Diagrama de dispersion de estatura

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

Histogramas

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

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

Identificar medias y desviaciones necesarias

  • Estadisticos de la variable peso
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)
  • Estadisticos de la variable estatura
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)

Calcular probabilidades

a) ¿Cuál es la probabilidad de encontrar a una persona masculino que pese menor o igual de 60 kilogramos?

  • Grafica la funcion en donde \(x<60\)

  • Grafica de densidad

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

  • Calcular la probabilidad
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 %"

b)¿Cuál es la probabilidad de encontrar a una persona femenino que pese menor o igual de 50 kilogramos?

  • Graficar la funcion en donde \(x<50\)

  • Grafica de densidad

plotDist("norm", mean = media.peso.f, sd = desv.std.peso.f, groups = x <= 50, type = "h", xlab = "Peso Mujeres", ylab = "Densidad" )

  • Calcular la probabilidad
prob <- pnorm(q = 50, 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: 13.5143 %"

c) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 180 centímetros?

  • Graficar la funcion en donde \(x>=180\)

  • Grafica de densidad

plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 180, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

  • Calcular la probabilidad
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 %"

d) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 190 centímetros?

  • Graficar la funcion en donde \(x>=190\)

  • Grafica de densidad

plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 190, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

  • Calcular la probabilidad
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 %"

e) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 160 y 170 centímeros?

  • Graficar la funcion en donde \(160≤x≤170\)

  • Grafica de densidad

plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

  • Calcular la probabilidad
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 %"

f) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímeros?

  • Graficar la funcion en donde \(190≤x≤195\)

  • Grafica de densidad

plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 190 & x <= 195, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

  • Calcular la rpobabilidad
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 %"

g) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 180 centímetros?

  • Graficar la funcion en donde \(x>=180\)

  • Grafica de densidad

plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 180, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

  • Calcular la probabilidad
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 %"

h) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 190 centímetros?

  • Graficar la funcion en donde \(x>=190\)

  • Grafica de densidad

plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 190, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

  • Calcular la probabilidad
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 %"

i) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura entre 160 y 170 centímeros?

  • Graficar la funsion en donde \(160≤x≤170\)

  • Grafica de densidad

plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

  • Calcular la probabilidad
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 %"

j) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros?

  • Graficar la funcion en donde \(190≤x≤195\)

  • Grafica de densida

plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 190 & x <= 195, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

  • Calcular la probabilidad
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 %"

k) ¿Cuál es la probabilidad de encontrar a una persona masculino o femenino que tenga una estatura entre 160 y 170 centímeros?

  • Graficar la funcion en donde \(160≤x≤170\)

  • Grafica de densidad

plotDist("norm", mean = mean(datos$estatura), sd = sd(datos$estatura), groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Hombres y Mujeres", ylab = "Densidad" )

  • Calcular la probabilidad
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 160 y 170 centímeros es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura entre 160 y 170 centímeros es de: 33.3526 %"

Ejercicio 2.2

  • Una empresa de material eléctrico fabrica bombillas (focos) de luz que tienen una duración, antes de quemarse (fundirse), que se distribuye normalmente con media igual a 800 horas y una desviación estándar de 40 horas. Encuentre la probabilidad de que una bombilla se queme entre 778 y 834 horas. Walpole et al. (2012)].

Inicializar valores

\[μ=800\] \[σ=40\]

Se busca:

\[778≤x≤834\]

media <- 800
desv.stadandar <- 40

La grafica de la distribucion normal

plotDist("norm", mean = media, sd = desv.stadandar, groups = x >= 778 & x <= 834, type = "h", xlab = "Distribución de la duración bombillas (focos)", ylab = "Densidad" )

Calcular la probabilidad

  • La probabilidad de que una bombilla se queme entre 778 y 834 horas
prob <- pnorm(q = 834, mean = media, sd = desv.stadandar) - pnorm(q = 778, mean = media, sd = desv.stadandar)
paste("La probabilidad de que una bombilla se queme entre 778 y 834 horas es:", round(prob * 100, 4), "%")
## [1] "La probabilidad de que una bombilla se queme entre 778 y 834 horas es: 51.1178 %"

Ejercicio 2.3

  • 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.)

Inicializar valores

\[μ=1200\] \[σ=200\]

Se busca:

\[1000≤x≤1550\]

media <- 1200
desv.stadandar <- 200

La grafica de la distribucion normal

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

Calcular el porcentaje

  • ¿Cual es el porcentaje de que los trabajadores ganan entre 1000 y 1550 soles?
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 %"

Paso 3: Interpretacion del caso

En este caso, el ejercicio 2.1, meidante los primeros y ultimos registros, se busca el caso de mediciones del cuerpo humano, su peso y estatura, con los datos obtenidos, se puede visualizar en el diagrama de dispersion y en el histograma, los datos del peso son bajos a comparacion con los de estatura.

En algunos incisos del ejercicio 2.1, se pide encontrar algunas de las siguientes probabilidades: * a) la probabilidad de encontrar a una persona masculino que pese menor de 60 kilogramos, en la grafica se puede ver que es muy baja la probabilidad, ya que es del 4.218%. * b) la probabilidad de encontrar a una persona femenino que pese menor de 50 kilogramos, se puede ver que en la grafica tambien es baja, pero la diferencia es que se pide encontrar a de la mujer, lo cual da la probabilidad un poco mas alta que el anterior inciso, ya el resultado es de 13.5143%.

En el ejercicio 2.2, se pide encontrar la probabilidad de que una bombilla se queme entre 778 y 834 horas, en la grafica podemos ver que en la curva, en la parte rosada, que la probabilidad es del 51.1178%.

En el Ejercicio 2.3, se pide encontral el porcentaje de trabajadores ganan entre 1000 y 1550 soles, en la grafica se puede ver que el area rosada, su curva esta elevada si la comparamos con la anterior grafica, esto quiere decir que el porcentaje de que una persona gane entre 1000 y 1550 soles es de 80.1286%.