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.

Cargar las 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)

Cargar los 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)
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

Visualisar los datos

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

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

Historiagramas

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`.

Identificar medidas y desviaciones

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)

Calcular las probabilidades

A)

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

B)

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

C)

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

D)

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

E)

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

F)

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

G)

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

H)

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

I)

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

J)

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

K)

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

Ejercicio 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.

media=800
desv.stadandar=40
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")

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 3

os 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?

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("La probabilidad de que una persoan gane entre 1000 y 1550 soles es de:", round(prob * 100, 4), "%")
## [1] "La probabilidad de que una persoan gane entre 1000 y 1550 soles es de: 80.1286 %"

Interpretacion

Ejercicio 1: Lo primero que hacemos es cargar los datos que utilizaremos para resolver los siguientes incisos, pero primero hacemos dos diagramas de dispercion uno para el peso y el otro para la estatura, de color rojo y azul respectivamente y a su vez hacemos dos historiagramas con los mismos datos para poder visualizar mejor los datos proporcionados:

a) ¿Cuál es la probabilidad de encontrar a una persona masculino que pese menor o igual de 60 kilogramos?: Primero hacemos una grafica, donde marcamos los datos que requerimos y sacamos la probailidad que seria de 4.218%

b) ¿Cuál es la probabilidad de encontrar a una persona femenino que pese menor o igual de 50 kilogramos?: Al igual que en el primer inciso hacemos una grafica donde se marcar los datos que pedimos y sacamos la probabilidad que seria de: 47.51%

C) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 180 centímetros?: Hacemos la grafica donde se marcara los datos que se nos solicitan y determinamos la probabilidad que seria de 37.68%

d) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 190 centímetros?: Hacermos la grafica de los datos, marcando los datos que devamos sacar de color rosa donde el resultado seria de 4.40%

e) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 160 y 170 centímeros?: Despues de hacer la grafica de los datos y marcar los datos que se nos solicitan sacamos la probabilidad que seria de 13.37%

f) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímeros?: Hacemos la grafica que se nos pide para visualizar mejor los datos y despues de marcar los datos que senos piden podemos observar que el area es muy pequeña. entonces sacamos la probabilidad que es de 3.58%

g) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 180 centímetros?: AL igual que el inciso anterior podemos observar que el area marcada de la grafica es muy pequeño entonces determinamos que la probabilidad es de 1.04%

h) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 190 centímetros?: En este ejercicio al realizar la grafica podemos observar que no hay una parte marcada esto es debido a que la probabilidad es caso nula la cual es 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?: Aqui pasa lo contrario al ejercicio anterior siendo mas de la mitad de la zona marcada de la grafica y su probabilidad seria de 55.50%

j) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros?: Aqui pasa lo mismo que en el inciso h ya que al graficar podemos ver que no hay una zona marcada siendo su probabilidad de 0.006% menos que en el inciso h

k) ¿Cuál es la probabilidad de encontrar a una persona masculino o femenino que tenga una estatura entre 160 y 170 centímeros?: Aqui pasa lo mismo que en los otros incisos donde marcamos los datos que senos piden siendo la probabilidad de 33.35%

Ejercicio 2:

Aqui aplicamos lo mismo que en el ejercicio anterior haciendo una grafica de los datos y marcandola en los datos que se nos piden, para despues sacar la probabilidad de que una bombilla se queme entre 778 y 834 horas que es de: 51.11%

Ejercicio 3:

Aqui hacemos lo mismo que en los ejercicios anteriores que y sacamos la probabilidad de que una persoan gane entre 1000 y 1550 soles que es de: 80.12%