Función de densidad o probabilidad puntual

\[ P(X=x)=\binom{x+size-1}{x}{prob}^{size}\left(1-{prob}\right)^{x-size}\text{ con }0{\leq}{prob}{\leq}1\text{ y }x=0,1,2,\ldots \]

Valor esperado o media

\[ \mu=size{\cdot}\frac{1-prob}{prob} \]

Varianza

\[ \sigma^2=size{\cdot}\frac{1-prob}{prob^2} \]

Ejemplo o aplicación

Se lanza una moneda al aire tantas veces como sean necesarias hasta completar cinco (5) caras; calcular las probabilidades asociadas, la esperanza y varianza y realizar un gráfico de la distribución de probabilidad para este caso.

pascal <- function(x,size,prob){
  choose(n=x+size-1,k=x)*prob**size*(1-prob)**x
}
pascal(x=0:10,size=5,prob=1/2)
##  [1] 0.03125000 0.07812500 0.11718750 0.13671875 0.13671875 0.12304688
##  [7] 0.10253906 0.08056641 0.06042480 0.04364014 0.03054810
5*(1-0.5)/0.5
## [1] 5
5*(1-0.5)/(0.5**2)
## [1] 10
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data.frame('lanzamientos previos'=0:100,
           'probabilidades'=dnbinom(x=0:100,
                                    size=5,
                                    prob=0.5)
           ) %>% 
  ggplot(mapping=aes(
    x=lanzamientos.previos,
    y=probabilidades
    )
  ) + 
  geom_col(fill="lightpink",
           colour="pink")