Modelo Binomial

Distribución y ejercicios

Autor/a
Afiliación

Kevin David Barón Cabezas
Breiner Duvan Mejía

Fecha de publicación

2 de mayo de 2024

Paqueteria / Libreria

Aquí encontraras la paquetería y librería necesaria para este HTML.

PAQUETERIA

A continuación encontraras la lista de los paquetes que debes instalar:

  • install.packages(tidyverse)

  • install.packages(kableExtra)

  • install.packages(agricolae)

  • install.packages(RColorBrewer)

  • install.packages(ggplot2)

  • install.packages(devtools)

  • install.packages(usethis)

  • install.packages(dplyr)

LIBRERIAS
Código
library(tidyverse)
library(kableExtra)
library(agricolae)
library(RColorBrewer)
library(ggplot2)
library(devtools)
library(usethis)
library(dplyr)

[@tidyverse; @kableExtra; @agricolae; @RColorBrewer][@ggplot2; @devtools; @usethis; @dplyr; @dbplyr]

Distribuciones de probabilidad en R

El paquete stats de R (que se instala por defecto al instalar R, y se carga en memoria siempre que iniciamos sesión) implementa numerosas funciones para la realización de cálculos asociados a distintas distribuciones de probabilidad. Entre las utilizadas más comunmente podemos citar:

Algunas Distribuciones de probabilidad

Ejecutando: help(Distributions)

Se nos mostrará el listado de distribuciones de probabilidad disponibles en el paquete stats. Otras distribuciones están disponibles en otros paquetes.

Para cada distribución, R dispone de cuatro funciones. Se puede acceder a cada una de ellas simplemente precediendo el nombre de la distribución que figura en la tabla anterior por la letra que se indica a continuación:

  • d: Función de densidad o de probabilidad.

  • p: Función de distribución.

  • q: Función para el cálculo de cuantiles.

  • r: Función para simular datos con dicha distribución.

Así, por ejemplo, para la distribución normal, la función de densidad se obtiene como dnorm(), la función de distribución como pnorm(), los cuantiles se calculan mediante qnorm() y se pueden generar valores aleatorios con distribución normal mediante rnorm(). Puede consultarse la ayuda, help(dnorm) para conocer la sintaxis específica de estas funciones.

Distribución Binomial

Casi siempre que un investigador se pregunta por la proporción de individuos que verifican una cierta característica dicotómica (estar enfermo o no, ser varón o no, etc.) subyace en el problema una distribución Binomial. Si de una población se toma una muestra de tamaño n y se anota el número X de individuos de ella que sí verifican la característica, entonces la variable aleatoria X sigue distribución Binomial. Asociada a si cada individuo sigue o no la característica de interés, aparece el término probabilidad/proporción (p) que denota la probabilidad de que el individuo presente la característica o la proporción de individuos que presentan la característica en la población. En consecuencia, esta distribución que se representa como B(n, p), puede verse como el número de éxitos en n repeticiones del experimento con probabilidad p, donde el éxito sería sí se verifica la condición y el experimento sería el hecho de comprobar si el individuo cumple la característica en cuestión. Con respecto al cálculo de probabilidades de una variable aleatoria con distribución Binomial, en R se distinguen cuatro funciones:

dbinom(x, size=n, prob=p). Devuelve el valor (valores) x de la función masa de probabilidad de una variable con distribución Binomial de parámetros n y p. La función masa de probabilidad es una función que caracteriza a las variables aleatorias discretas y que asigna una determinada probabilidad a cada uno de los valores de la variable.

pbinom(x, size=n, prob=p, lower.tail = TRUE). Calcula el valor (valores) x de la función de distribución de una distribución Binomial de parámetros n y p. Se define la función de distribución de la variable aleatoria X como la probabilidad de que X tome un valor menor o igual que x, es decir, P[X ≤ x]. Si lower.tail=FALSE, R calcula P[X > x], lo cual ya no sería la función de distribución.

qbinom(a, size=n, prob=p, lower.tail = TRUE). Determina el cuantil (cuantiles) de una variable con distribución Binomial de parámetros n y p. Por definición, un cuantil es aquel que deja a su izquierda una proporción de valores a, es decir, es aquel valor q tal que P[X ≤ q] = a.

rbinom(r, size=n, prob=p). Genera r valores aleatorios de una distribución Binomial, B(n,p).

La distribución de Bernoulli es una distribución de probabilidad que consiste en la observación de un experimento aleatorio con dos posibles resultados. A uno de los resultados del experimento se le denomina “éxito”, con probabilidad de ocurrencia 𝜋π, y al otro se le llama “fracaso”, con probabilidad de ocurrencia 1−𝜋1−π, donde 𝜋π es un número real tal que 0<𝜋<10<π<1.

La distribución binomial está conformada por 𝑛n repeticiones independientes de un experimento de Bernoulli.

Se dice que una v.a.d. x que asume valores 0,1,…,𝑛 tiene una distribución binomial con parámetros $n$ y π, lo que se escribe:

X\sim Bin(n,\pi), si la f.m.p. de x está dada por:

fx(x;n,\pi)=\left\{\begin{matrix}\frac{n}{x}\pi^{x} (1-\pi)^{n-x}, si x=0,1....,n; & & \\ 0, \text{en otro caso.} & & \end{matrix}\right.

donde 𝑛n es un en tero positivo y 𝜋π es un número real tal que 0<𝜋<10<π<1.

Cuando n=1 la distribución Binomial coincide con la distribución de Bernoulli de parámetro 𝜋π, lo que se escribe: $xBer()$.

Si 𝑋X sigue una distribución binomial 𝐵(𝑛,𝑝)B(n,p), entonces:

  • P(x=k) = dbinom(k,n,p)

  • P(X\leq k) = pbinom(k,n,p)

  • q_{a}=min\begin{Bmatrix}x:P(X\leq x)\geq a\end{Bmatrix}= qbinom(a,n,p)

  • rbinom(m,n,p) genera m valores aleatorios con esta distribución

Parámetros

Si x es una v.a. tal que X\sim Bin(n,\pi) , entonces:

  • E[X]=n\pi

  • V[X]=n\pi(1-\pi)

Ejercicios

Ejercicio 1 (5.8)

De acuerdo con un estudio publicado por un grupo de sociólogos de la Universidad de Massachusetts, aproximadamente 60% de los consumidores de Valium en el estado de Massachusetts empezaron a consumirlo a causa de problemas psicológicos. Calcule la probabilidad de que entre los siguientes 8 consumidores entrevistados de este estado,

a) exactamente 3 comenzaron a consumir Valium por problemas psicológicos;

b) al menos 5 comenzaron a consumir Valium por problemas que no fueron psicológicos.

Respuesta Inciso A
  • n=8

  • k Varía según lo que se pide en cada pregunta

  • p= 0.60

Para n=8n=8 y p=0.6p=0.6, primero calculamos la probabilidad de que exactamente 3 consumidores comiencen a tomar Valium por problemas psicológicos utilizando la función de probabilidad de la distribución binomial:

P(X=3)=\left ( \frac{8}{3} \right ) * 0.60^{3} * (1-0.60)^{8-3} P(X=3)=\left ( \frac{8}{3} \right ) * 0.60^{3} * 0.4^{5} P(X=3)=\frac{8!}{3!(8-3)} * 0.60^{3} * 0.40^{5} P(X=3)=\frac{8!}{3!(5)} * 0.60^{3} * 0.40^{5} P(X=3)=\frac{8*7*6}{3*2*1} * 0.60^{3} * 0.40^{5} P(X=3)=56 * 0.60^{3} * 0.40^{5} P(X=3)\approx 0.293

Por lo tanto, la probabilidad de que exactamente 3 consumidores de Valium comenzaran a consumirlo por problemas psicológicos es aproximadamente 0.2936.

Gráficas

Código
n <- 8

p <- 0.60

probabilities <- dbinom(0:n, size = n, prob = p)

results_table <- data.frame(Consumidores = 0:n, Probabilidad = probabilities)

print("Tabla de Distribución Binomial para el Inciso A:")
[1] "Tabla de Distribución Binomial para el Inciso A:"
Código
print(results_table)
  Consumidores Probabilidad
1            0   0.00065536
2            1   0.00786432
3            2   0.04128768
4            3   0.12386304
5            4   0.23224320
6            5   0.27869184
7            6   0.20901888
8            7   0.08957952
9            8   0.01679616
Código
n <- 8
p <- 0.60

probabilities <- dbinom(0:n, size = n, prob = p)

barplot(probabilities, 
        names.arg = 0:n, 
        xlab = "Número de Consumidores", 
        ylab = "Probabilidad",
        main = "Distribución Binomial para el Inciso A",
        col = "skyblue",
        ylim = c(0, max(probabilities) * 1.2))

grid()

Código
if (!requireNamespace("ggplot2", quietly = TRUE)) {
  install.packages("ggplot2")
}
library(ggplot2)

n <- 8

p <- 0.60

probabilities <- dbinom(0:n, size = n, prob = p)

results_df <- data.frame(Consumidores = 0:n, Probabilidad = probabilities)

ggplot(results_df, aes(x = factor(Consumidores), y = Probabilidad)) +
  geom_bar(stat = "identity", fill = "red") +
  labs(title = "Distribución Binomial para el Inciso A",
       x = "Número de Consumidores",
       y = "Probabilidad") +
  theme_minimal()

Código
n <- 8
p <- 0.6
k <- 3

probabilidad_k <- choose(n, k) * p^k * (1 - p)^(n - k)

probabilidades_acumuladas <- cumsum(dbinom(0:n, size = n, prob = p))

datos <- data.frame(Consumidores = 0:n, Probabilidad_Acumulada = probabilidades_acumuladas)

library(ggplot2)
tabla <- ggplot(datos, aes(x = Consumidores, y = Probabilidad_Acumulada)) +
  geom_step(color = "red") +
  geom_point(data = data.frame(Consumidores = k, Probabilidad_Acumulada = cumsum(probabilidad_k)), aes(x = Consumidores, y = Probabilidad_Acumulada), color = "orange", size = 3) +
  labs(x = "Cantidad de Consumidores", y = "Probabilidad Acumulada",
       title = "Función de Distribución Acumulada (CDF)")

print(tabla)

Respuesta Inciso B

Se calcula la probabilidad acumulada de menos de 5 consumidores comenzando a tomar Valium por problemas que no son psicológicos y para encontrar la probabilidad de al menos 5 consumidores comenzando a tomar Valium por problemas que no son psicológicos, restamos esta probabilidad acumulada de 1.

Calculamos valores para P(X=0),P(X=1),P(X=2) y P(X=4) porque P(X=3) ya se calculó en el inciso A.

P(X=0)=\left ( \frac{8}{0} \right )*(0.4)^{0}*(0.6)^{8}=1*1*0.1677\approx 0.1678 P(X=1)=\left ( \frac{8}{1} \right )*(0.4)^{1}*(0.6)^{7}=8*0.4*0.2799\approx 0.8958 P(X=2)=\left ( \frac{8}{2} \right )*(0.4)^{2}*(0.6)^{6}=28*0.16*0.1677\approx 0.7556 P(X=4)=\left ( \frac{8}{5} \right )*(0.4)^{4}*(0.6)^{4}=70*0.025*0.1296\approx 0.2285

Ahora se suman para obtener P(X \geq 5), se resta X< 5 de 1

P(X<5)\approx 0.16777216+0.33554432+0.28549952+0.12399+0.08643328\approx0.99923

P(X\geq 5)\approx 1-0.99923

P(X\geq 5)\approx 0.00076072

La probabilidad de que al menos 5 consumidores comenzaron a tomar Valium por problemas que no fueron psicológicos es aproximadamente del 0.07607%, es decir, es una probabilidad muy baja. Esto sugiere que la mayoría de los consumidores de Valium en el estado de Massachusetts comenzaron a consumirlo debido a problemas psicológicos.

Código
probabilidades <- c(0.1678, 0.8958, 0.7556, 0.12399, 0.2285)

consumidores <- 0:4

tabla <- data.frame(Consumidores = consumidores, Probabilidad = probabilidades)

print(tabla)
  Consumidores Probabilidad
1            0      0.16780
2            1      0.89580
3            2      0.75560
4            3      0.12399
5            4      0.22850
Código
probabilidades <- c(0.1678, 0.8958, 0.7556, 0.12399, 0.2285)

consumidores <- 0:4

barplot(probabilidades, names.arg = consumidores, 
        xlab = "Cantidad de Consumidores", ylab = "Probabilidad",
        main = "Probabilidad de Consumidores de Valium por Problemas No Psicológicos",
        col = "white", border = "blue", ylim = c(0, 1))

abline(h = 0.5, lty = 2, col = "black")

Código
text(x = barplot(probabilidades) + 0.5, y = probabilidades + 0.02, 
     labels = probabilidades, cex = 0.7, col = "black", pos = 3)

Código
library(ggplot2)
library(dplyr)

datos <- data.frame(Consumidores = 0:4, Probabilidad = c(0.1678, 0.8958, 0.7556, 0.12399, 0.2285))

tabla <- ggplot(datos, aes(x = factor(Consumidores), y = Probabilidad)) +
  geom_bar(stat = "identity", fill = "gold", color = "black") +
  labs(x = "Cantidad de Consumidores", y = "Probabilidad",
       title = "Probabilidad de Consumidores de Valium por Problemas No Psicológicos") +
  theme_minimal()

print(tabla)

Código
library(ggplot2)

datos <- data.frame(Consumidores = 0:4, Probabilidad = c(0.1678, 0.8958, 0.7556, 0.12399, 0.2285))

datos$Probabilidad_acumulada <- cumsum(datos$Probabilidad)

intersecciones <- data.frame(Consumidores = c(0, 1, 2, 3, 4),
                             Probabilidad_acumulada = c(0, 0.1678, 1.0636, 1.8192, 1))

tabla <- ggplot(datos, aes(x = Consumidores, y = Probabilidad_acumulada)) +
  geom_step(color = "black") +
  geom_point(data = intersecciones, aes(x = Consumidores, y = Probabilidad_acumulada), color = "yellow", size = 3) +
  labs(x = "Cantidad de Consumidores", y = "Probabilidad Acumulada",
       title = "Función de Distribución Acumulada (CDF)") +
  theme_minimal()

print(tabla)

Ejercicio 2 (5.9)

Al probar cierta clase de neumático para camión en un terreno accidentado, se encuentra que el 25% de los camiones no completan la prueba de recorrido sin ponchaduras. De los siguientes 15 camiones probados, calcule la probabilidad de que:

a) de 3 a 6 tengan ponchaduras;

b) menos de 4 tengan ponchaduras;

c) más de 5 ponchaduras.

Respuesta Inciso A

P(3\leq X\leq 6)=P(X\leq 0)-P(X\leq 2) P(3\leq 6)=09434 P(3\leq 2)=0.2361

Entonces:

P(3\leq X\leq 6)=0.9434-0.2361=0.7073

La respuesta calculada es 0.7073 lo que significa que hay aproximadamente un 70.73% de probabilidad de que entre 3 y 6 camiones de los 15 probados sufran una ponchadura durante la prueba en terreno accidentado.

Código
datos_inciso_a <- data.frame(
  P_X_leq_6 = 0.9434,
  P_X_leq_2 = 0.2361,
  P_3_leq_X_leq_6 = 0.7073
)

rownames(datos_inciso_a) <- "Probabilidad"

print(datos_inciso_a)
             P_X_leq_6 P_X_leq_2 P_3_leq_X_leq_6
Probabilidad    0.9434    0.2361          0.7073
Código
probabilidades <- c(P_X_leq_6 = 0.9434, P_X_leq_2 = 0.2361, P_3_leq_X_leq_6 = 0.7073)

barplot(probabilidades, 
        col = "skyblue",
        main = "Probabilidades del Inciso A",
        ylab = "Probabilidad",
        ylim = c(0, 1),
        names.arg = c("P(X <= 6)", "P(X <= 2)", "P(3 <= X <= 6)"),
        cex.names = 0.8,
        beside = TRUE)

Código
library(ggplot2)

datos <- data.frame(
  Cantidad_de_camiones = c(0:6),
  Probabilidad = c(0, 0.2361, 0.2361, 0.2361, 0.2361, 0.9434, 1)
)

tabla <- ggplot(datos, aes(x = Cantidad_de_camiones, y = Probabilidad)) +
  geom_point(color = "blue", size = 3) +
  geom_line(color = "blue") +
  labs(x = "Cantidad de camiones con ponchaduras", y = "Probabilidad acumulada",
       title = "Función de distribución acumulada (CDF) - Inciso A") +
  theme_minimal()

print(tabla)

Código
library(ggplot2)

datos <- data.frame(
  Cantidad_de_camiones = c(0:6),
  Probabilidad = c(0.0566, 0.2649, 0.3956, 0.2649, 0.0566, 0.0016, 0.0001)
)

tabla <- ggplot(datos, aes(x = Cantidad_de_camiones, y = Probabilidad)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "blue") +
  labs(x = "Cantidad de camiones con ponchaduras", y = "Probabilidad",
       title = "Función de Probabilidad - Inciso A") +
  theme_minimal()

print(tabla)

Respuesta Inciso B

P(3<4)=P(X\leq 3)=0.4613

La probabilidad calculada es aproximadamente 0.4613. Esto significa que hay alrededor de un 46.13% de probabilidad de que 3 o menos camiones de los 15 probados sufran una ponchadura durante la prueba en terreno accidentado.

Código
datos <- data.frame(
  Evento = "Menos de 4 camiones con ponchaduras",
  Probabilidad = 0.4613
)

print(datos)
                               Evento Probabilidad
1 Menos de 4 camiones con ponchaduras       0.4613
Código
evento <- "Menos de 4 camiones con ponchaduras"
probabilidad <- 0.4613

eventos <- c(evento)

probabilidades <- c(probabilidad)

barplot(probabilidades,
        names.arg = eventos,
        col = "skyblue",
        main = "Probabilidad de Menos de 4 Camiones con Ponchaduras",
        ylab = "Probabilidad",
        ylim = c(0, 1))

Código
library(ggplot2)

datos <- data.frame(
  Cantidad_de_camiones = c(0:14),
  Probabilidad_acumulada = cumsum(dbinom(0:14, size = 15, prob = 0.25))
)

grafico <- ggplot(datos, aes(x = Cantidad_de_camiones, y = Probabilidad_acumulada)) +
  geom_step(color = "blue") +
  labs(x = "Cantidad de camiones con ponchaduras", y = "Probabilidad acumulada",
       title = "Función de distribución acumulada") +
  theme_minimal()

print(grafico)

Código
library(ggplot2)

datos <- data.frame(
  Cantidad_de_camiones = c(0:14),
  Probabilidad = dbinom(0:14, size = 15, prob = 0.25)
)

grafico <- ggplot(datos, aes(x = Cantidad_de_camiones, y = Probabilidad)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "blue") +
  labs(x = "Cantidad de camiones con ponchaduras", y = "Probabilidad",
       title = "Función de Probabilidad") +
  theme_minimal()

print(grafico)

Respuesta Inciso C

P(X>5)=1-P(X\leq 5)=1-0.8516=0.1484

Aunque hay una probabilidad relativamente baja, aún existe una posibilidad considerable de que un número significativo de camiones experimenten ponchaduras durante la prueba.

Código
datos <- data.frame(
  Evento = "Más de 5 camiones con ponchaduras",
  Probabilidad = 0.1484
)

print(datos)
                             Evento Probabilidad
1 Más de 5 camiones con ponchaduras       0.1484
Código
evento <- "Más de 5 camiones con ponchaduras"
probabilidad <- 0.1484

probabilidades <- c(probabilidad)

eventos <- c(evento)

barplot(probabilidades,
        names.arg = eventos,
        col = "gold",
        main = "Probabilidad de Más de 5 Camiones con Ponchaduras",
        ylab = "Probabilidad",
        ylim = c(0, 1))

Código
library(ggplot2)

datos <- data.frame(
  Cantidad_de_camiones = c(0:15),
  Probabilidad_acumulada = cumsum(dbinom(0:15, size = 15, prob = 0.25))
)

grafico <- ggplot(datos, aes(x = Cantidad_de_camiones, y = Probabilidad_acumulada)) +
  geom_step(color = "blue") +
  labs(x = "Cantidad de camiones con ponchaduras", y = "Probabilidad acumulada",
       title = "Función de distribución acumulada") +
  theme_minimal()

print(grafico)

Código
library(ggplot2)

# Definir los datos
datos <- data.frame(
  Cantidad_de_camiones = c(0:15),
  Probabilidad = dbinom(0:15, size = 15, prob = 0.25)
)

# Crear la gráfica utilizando ggplot2
grafico <- ggplot(datos, aes(x = Cantidad_de_camiones, y = Probabilidad)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "blue", width = 0.1) + # Ajustar el ancho de las barras
  labs(x = "Cantidad de camiones con ponchaduras", y = "Probabilidad",
       title = "Función de Probabilidad") +
  theme_minimal()

# Mostrar la gráfica
print(grafico)

Ejercicio 3 (5.10)

Según un informe de la revista Parade, una encuesta a nivel nacional, realizada por la Universidad de Michigan con estudiantes universitarios de último año, reveló que casi 70% desaprueban el consumo diario de marihuana. Si se seleccionan 12 estudiantes de último año al azar y se les pide su opinión, calcule la probabilidad de que el número de los que desaprueban el consumo diario de marihuana sea:

a) cualquiera entre 7 y 9;

b) 5 a lo sumo;

c) no menos de 8.

Respuesta Inciso A

P(7\leq X\leq 9)=P(X\leq 9)-P(X\leq 6)=0.7472-0.1178=0.6294

Hay una probabilidad del 62.94% de que, si seleccionamos al azar 12 estudiantes universitarios de último año y les preguntamos su opinión sobre el consumo diario de marihuana, entre 7 y 9 de ellos desaprobarán dicho consumo.

Código
n <- 12 # Número total de estudiantes
p <- 0.7 # Probabilidad de desaprobar el consumo diario de marihuana

prob_cumulative <- pbinom(0:n, size = n, prob = p)

prob_7_to_9 <- prob_cumulative[10] - prob_cumulative[7]

tabla <- data.frame(
  'Número de desaprobadores' = 0:n,
  'Probabilidad acumulativa' = prob_cumulative,
  row.names = NULL
)

print(tabla)
   Número.de.desaprobadores Probabilidad.acumulativa
1                         0             5.314410e-07
2                         1             1.541179e-05
3                         2             2.063763e-04
4                         3             1.691655e-03
5                         4             9.489371e-03
6                         5             3.860084e-02
7                         6             1.178487e-01
8                         7             2.763445e-01
9                         8             5.074842e-01
10                        9             7.471847e-01
11                       10             9.149750e-01
12                       11             9.861587e-01
13                       12             1.000000e+00
Código
print(paste("Probabilidad de que el número de desaprobadores esté entre 7 y 9:", prob_7_to_9))
[1] "Probabilidad de que el número de desaprobadores esté entre 7 y 9: 0.629335913283"
Código
n <- 12 # Número total de estudiantes
p <- 0.7 # Probabilidad de desaprobar el consumo diario de marihuana

probabilidades <- dbinom(0:n, size = n, prob = p)

barplot(probabilidades, names.arg = 0:n, xlab = "Número de desaprobadores", ylab = "Probabilidad", 
        main = "Distribución de probabilidad de desaprobadores",
        col = "skyblue", border = "black")

Código
if(!require(ggplot2)) {
  install.packages("ggplot2")
  library(ggplot2)
}

n <- 12 # Número total de estudiantes
p <- 0.7 # Probabilidad de desaprobar el consumo diario de marihuana

probabilidades <- dbinom(0:n, size = n, prob = p)

data <- data.frame(
  "Numero_de_desaprobadores" = 0:n,  # Cambiamos el nombre de la columna
  "Probabilidad" = probabilidades
)

ggplot(data, aes(x = factor(Numero_de_desaprobadores), y = Probabilidad)) +  # Cambiamos el nombre de la columna aquí también
  geom_bar(stat = "identity", fill = "skyblue", color = "black") +
  labs(x = "Número de desaprobadores", y = "Probabilidad",
       title = "Distribución de probabilidad de desaprobadores") +
  theme_minimal()

Código
n <- 12 # Número total de estudiantes
p <- 0.7 # Probabilidad de desaprobar el consumo diario de marihuana

probabilidades <- dbinom(0:n, size = n, prob = p)

barplot(probabilidades, names.arg = 0:n, xlab = "Número de desaprobadores", ylab = "Probabilidad",
        main = "Distribución de probabilidad de desaprobadores",
        col = "skyblue", border = "black")

Respuesta Inciso B

P(X\leq 5)=0.0386

Hay una probabilidad del 3.86% de que, si seleccionamos al azar 12 estudiantes universitarios de último año y les preguntamos su opinión sobre el consumo diario de marihuana, como máximo 5 de ellos desaprobarán dicho consumo.

Código
n <- 12 # Número total de estudiantes
p <- 0.7 # Probabilidad de desaprobar el consumo diario de marihuana

probabilidades <- dbinom(0:n, size = n, prob = p)


prob_hasta_5 <- probabilidades[1:6]

tabla <- data.frame(
  'Número de desaprobadores' = 0:5,
  'Probabilidad' = prob_hasta_5
)

print(tabla)
  Número.de.desaprobadores Probabilidad
1                        0 5.314410e-07
2                        1 1.488035e-05
3                        2 1.909645e-04
4                        3 1.485279e-03
5                        4 7.797716e-03
6                        5 2.911147e-02
Código
n <- 12 # Número total de estudiantes
p <- 0.7 # Probabilidad de desaprobar el consumo diario de marihuana

probabilidades <- dbinom(0:n, size = n, prob = p)

prob_hasta_5 <- probabilidades[1:6]

barplot(prob_hasta_5, names.arg = 0:5, xlab = "Número de desaprobadores", ylab = "Probabilidad",
        main = "Distribución de probabilidad de desaprobadores (como máximo 5)",
        col = "skyblue", border = "black")

Código
if(!require(ggplot2)) {
  install.packages("ggplot2")
  library(ggplot2)
}

n <- 12 # Número total de estudiantes
p <- 0.7 # Probabilidad de desaprobar el consumo diario de marihuana

probabilidades <- dbinom(0:n, size = n, prob = p)

prob_hasta_5 <- probabilidades[1:6]

data <- data.frame(
  "Numero_de_desaprobadores" = 0:5,
  "Probabilidad" = prob_hasta_5
)

ggplot(data, aes(x = factor(Numero_de_desaprobadores), y = Probabilidad)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "black") +
  labs(x = "Número de desaprobadores", y = "Probabilidad",
       title = "Distribución de probabilidad de desaprobadores (como máximo 5)") +
  theme_minimal() +
  geom_hline(yintercept = 0.0386, linetype = "dashed", color = "red") +
  annotate("text", x = 0, y = 0.0386, label = "P(X <= 5) = 0.0386", vjust = -0.5, color = "red")

Respuesta Inciso C

P(X>8)=1-P(X<7)=1-0.2763=0.7237

Hay alrededor de un 72.37% de probabilidad de que, si seleccionamos al azar 12 estudiantes de último año, al menos 8 de ellos desaprobarán el consumo diario de marihuana.

Código
probabilidad <- 1 - 0.2763

tabla <- data.frame(
  Numero_de_estudiantes_que_desaprueban = 0:12,
  Probabilidad = dbinom(0:12, size = 12, prob = probabilidad)
)

print(tabla)
   Numero_de_estudiantes_que_desaprueban Probabilidad
1                                      0 1.979569e-07
2                                      1 6.221993e-06
3                                      2 8.963341e-05
4                                      3 7.825757e-04
5                                      4 4.611971e-03
6                                      5 1.932788e-02
7                                      6 5.906208e-02
8                                      7 1.325988e-01
9                                      8 2.170688e-01
10                                     9 2.526926e-01
11                                    10 1.985598e-01
12                                    11 9.455977e-02
13                                    12 2.063968e-02
Código
probabilidad <- 1 - 0.2763

tabla <- data.frame(
  Numero_de_estudiantes_que_desaprueban = 0:12,
  Probabilidad = dbinom(0:12, size = 12, prob = probabilidad)
)

barplot(tabla$Probabilidad, names.arg = tabla$Numero_de_estudiantes_que_desaprueban,
        xlab = "Número de estudiantes que desaprueban",
        ylab = "Probabilidad",
        main = "Distribución de probabilidad para el consumo diario de marihuana",
        col = "skyblue", border = "black", ylim = c(0, 0.3))

Código
library(ggplot2)

# Probabilidad de que el número de estudiantes que desaprueban sea no menos de 8
probabilidad <- 1 - 0.2763

# Crear tabla
tabla <- data.frame(
  Numero_de_estudiantes_que_desaprueban = 0:12,
  Probabilidad = dbinom(0:12, size = 12, prob = probabilidad)
)

# Crear gráfico utilizando ggplot2
ggplot(tabla, aes(x = Numero_de_estudiantes_que_desaprueban, y = Probabilidad)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "black") +
  labs(x = "Número de estudiantes que desaprueban",
       y = "Probabilidad",
       title = "Distribución de probabilidad para el consumo diario de marihuana") +
  theme_minimal()

Código
library(ggplot2)

# Probabilidad de que el número de estudiantes que desaprueban sea no menos de 8
probabilidad <- 1 - 0.2763

# Crear tabla
tabla <- data.frame(
  Numero_de_estudiantes_que_desaprueban = 0:12,
  Probabilidad = dbinom(0:12, size = 12, prob = probabilidad)
)

# Crear gráfico utilizando ggplot2
ggplot(tabla, aes(x = Numero_de_estudiantes_que_desaprueban, y = Probabilidad)) +
  geom_point(color = "blue", size = 3) +
  geom_line(color = "blue", size = 1) +
  labs(x = "Número de estudiantes que desaprueban",
       y = "Probabilidad",
       title = "Función de probabilidad para el consumo diario de marihuana") +
  theme_minimal()