Realizar cálculos de probabilida bajo la distribución Normal
Datos y columnas
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, peso, estatura, genero)
kable(head(datos))
| 65.6 |
174.0 |
1 |
| 71.8 |
175.3 |
1 |
| 80.7 |
193.5 |
1 |
| 72.6 |
186.5 |
1 |
| 78.8 |
187.2 |
1 |
| 74.8 |
181.5 |
1 |
Estadisticos
datos$genero <- as.factor(datos$genero)
summary(datos)
## peso estatura genero
## Min. : 42.00 Min. :147.2 0:260
## 1st Qu.: 58.40 1st Qu.:163.8 1:247
## Median : 68.20 Median :170.3
## Mean : 69.15 Mean :171.1
## 3rd Qu.: 78.85 3rd Qu.:177.8
## Max. :116.40 Max. :198.1
Visulizar datos
Peso
ggplot(datos, aes(genero, peso)) +
geom_boxplot(colour = c("deeppink", "dodgerblue4"))

Estatura
ggplot(datos, aes(genero, estatura)) +
geom_boxplot(colour = c("deeppink", "dodgerblue4"))

Filtrar masculinos y femeninos
masculinos <- filter(datos, genero == 1)
summary(masculinos)
## peso estatura genero
## Min. : 53.90 Min. :157.2 0: 0
## 1st Qu.: 70.95 1st Qu.:172.9 1:247
## Median : 77.30 Median :177.8
## Mean : 78.14 Mean :177.7
## 3rd Qu.: 85.50 3rd Qu.:182.7
## Max. :116.40 Max. :198.1
femeninos <- filter(datos, genero == 0)
summary(femeninos)
## peso estatura genero
## Min. : 42.0 Min. :147.2 0:260
## 1st Qu.: 54.5 1st Qu.:160.0 1: 0
## Median : 59.0 Median :164.5
## Mean : 60.6 Mean :164.9
## 3rd Qu.: 65.6 3rd Qu.:169.5
## Max. :105.2 Max. :182.9
Peso:
1. Varón que pese mas de 60 kilos
plotDist("norm", mean = media.peso.m, sd = desv.std.peso.m, groups = x > 60, type = "h", xlab = "Peso Hombres", ylab = "Densidad" )

1 - pnorm(q = 60, mean = media.peso.m, sd = desv.std.peso.m)
## [1] 0.9578202
2. Varón que pese entre 70 y 80 kilos
plotDist("norm", mean = media.peso.m, sd = desv.std.peso.m, groups = x > 70 & x<80, type = "h", xlab = "Peso Hombres", ylab = "Densidad" )

pnorm(q = 80, mean = media.peso.m, sd = desv.std.peso.m, )-pnorm(q = 70, mean = media.peso.m, sd = desv.std.peso.m, )
## [1] 0.3507943
3. Varón que pese menos de 75 kilos
plotDist("norm", mean = media.peso.m, sd = desv.std.peso.m, groups =x<75, type = "h", xlab = "Peso Hombres", ylab = "Densidad" )

pnorm(q = 75, mean = media.peso.m, sd = desv.std.peso.m, )
## [1] 0.3824272
4. Mujer que pese mas de 55 kilos
plotDist("norm", mean = media.peso.f, sd = desv.std.peso.f, groups = x > 55, type = "h", xlab = "Peso Mujeres", ylab = "Densidad" )

pnorm(q = 55, mean = media.peso.f, sd = desv.std.peso.f, lower.tail = FALSE)
## [1] 0.7198584
5. Mujer que pese entre 50 y 60 kilos
plotDist("norm", mean = media.peso.f, sd = desv.std.peso.f, groups = x > 50 & x<60, type = "h", xlab = "Peso Mujeres", ylab = "Densidad" )

pnorm(q = 60, mean = media.peso.f, sd = desv.std.peso.f, )-pnorm(q = 50, mean = media.peso.f, sd = desv.std.peso.f, )
## [1] 0.339964
6. Mujer que pese menos de 45 kilos
plotDist("norm", mean = media.peso.f, sd = desv.std.peso.f, groups = x<45, type = "h", xlab = "Peso Mujeres", ylab = "Densidad" )

pnorm(q = 45, mean = media.peso.f, sd = desv.std.peso.f, )
## [1] 0.05236025
Estatura:
7. Varón que mida mas de 165 cm de altura
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x > 165, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

1-pnorm(q = 165, mean = media.estatura.m, sd = desv.std.estatura.m, )
## [1] 0.9619867
8. Varón que mida entre 175 y 185 de estatura
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x > 175 & x<185, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

pnorm(q = 185, mean = media.estatura.m, sd = desv.std.estatura.m, )-pnorm(q = 175, mean = media.estatura.m, sd = desv.std.estatura.m, )
## [1] 0.4925565
9. Varón que mida menos de 170 de altura
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups =x<170, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

pnorm(q = 170, mean = media.estatura.m, sd = desv.std.estatura.m, )
## [1] 0.1404736
10. Mujer que mida mas de 155 de altura
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x > 155, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad")

pnorm(q = 155, mean =media.estatura.f, sd = desv.std.estatura.f, lower.tail = FALSE)
## [1] 0.9342823
11. Mujer que mida entre 165 y 170 de estatura
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x > 165 & x<170, type = "h", xlab = "Peso Mujeres", ylab = "Densidad" )

pnorm(q = 170, mean = media.estatura.f, sd = desv.std.estatura.f, )-pnorm(q = 165, mean = media.estatura.f, sd = desv.std.estatura.f, )
## [1] 0.2755498
12. Mujer mida que menos de 155 de altura
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x<155, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

pnorm(q = 155, mean = media.estatura.f, sd = desv.std.estatura.f, )
## [1] 0.06571769