Una guida a dbinom, pbinom, qbinom e rbinom in r
Questo tutorial spiega come utilizzare la distribuzione binomiale in R utilizzando le funzioni dbinom , pbinom , qbinom e rbinom .
dbinom
La funzione dbinom restituisce il valore della funzione di densità di probabilità (pdf) della distribuzione binomiale data una variabile casuale x , il numero di prove (dimensione) e la probabilità di successo di ciascuna prova (prob). La sintassi per utilizzare dbinom è la seguente:
dbinom(x, dimensione, prob)
In termini semplici, dbinom trova la probabilità di ottenere un certo numero di successo (x) in un certo numero di prove (dimensione) dove la probabilità di successo in ciascuna prova è fissa (prob) .
I seguenti esempi illustrano come risolvere alcune domande di probabilità utilizzando dbinom.
Esempio 1: Bob effettua il 60% dei suoi tiri liberi. Se effettua 12 tiri liberi, qual è la probabilità che ne effettui esattamente 10?
#find the probability of 10 successes during 12 trials where the probability of
#success on each trial is 0.6
dbinom(x=10, size=12, prob=.6)
#[1]0.06385228
La probabilità che effettui esattamente 10 tiri è 0,0639 .
Esempio 2: Sasha lancia una moneta equilibrata 20 volte. Qual è la probabilità che la moneta dia esattamente 7 teste?
#find the probability of 7 successes during 20 trials where the probability of
#success on each trial is 0.5
dbinom(x=7, size=20, prob=.5)
#[1]0.07392883
La probabilità che la moneta esca testa esattamente 7 volte è 0,0739 .
pbinom
La funzione pbinom restituisce il valore della funzione di densità cumulativa (cdf) della distribuzione binomiale data una certa variabile casuale q , il numero di prove (dimensione) e la probabilità di successo di ciascuna prova (prob). La sintassi per utilizzare pbinom è la seguente:
pbinom(q, dimensione, prob)
In termini semplici, pbinom restituisce l’area a sinistra di un dato valore q nella distribuzione binomiale. Se sei interessato all’area a destra di un dato valore q , puoi semplicemente aggiungere l’argomento lower.tail = FALSE
pbinom(q, dimensione, prob, lower.tail = FALSE)
Gli esempi seguenti illustrano come risolvere alcune domande sulla probabilità utilizzando pbinom.
Esempio 1: Ando lancia una moneta equilibrata 5 volte. Qual è la probabilità che esca testa più di due volte?
#find the probability of more than 2 successes during 5 trials where the #probability of success on each trial is 0.5 pbinom(2, size=5, prob=.5, lower.tail=FALSE) # [1] 0.5
La probabilità che esca testa più di due volte è 0,5 .
Esempio 2: Supponiamo che Tyler ottenga uno strike nel 30% dei suoi tentativi quando gioca. Se gioca 10 volte, qual è la probabilità che ottenga 4 strike o meno?
#find the probability of 4 or fewer successes during 10 trials where the #probability of success on each trial is 0.3 pbinom(4, size=10, prob=.3) # [1]0.8497317
La probabilità che segni 4 strike o meno è 0,8497 .
qbinom
La funzione qbinom restituisce il valore della funzione di densità cumulativa inversa (cdf) della distribuzione binomiale data una certa variabile casuale q , il numero di prove (dimensione) e la probabilità di successo di ciascuna prova (prob). La sintassi per utilizzare qbinom è la seguente:
qbinom(q, dimensione, prob)
In termini semplici, puoi usare qbinom per scoprire il p-esimo quantile della distribuzione binomiale.
Il codice seguente mostra alcuni esempi di qbinom in azione:
#find the 10th quantile of a binomial distribution with 10 trials and prob #of success on each trial = 0.4 qbinom(.10, size=10, prob=.4) # [1] 2 #find the 40th quantile of a binomial distribution with 30 trials and prob #of success on each trial = 0.25 qbinom(.40, size=30, prob=.25) # [1] 7
rbinom
La funzione rbinom genera un vettore di variabili casuali distribuite binomiali data una lunghezza del vettore n , un numero di prove (dimensione) e una probabilità di successo per ciascuna prova (prob). La sintassi per utilizzare rbinom è la seguente:
rbinom(n, dimensione, prob)
Il codice seguente mostra alcuni esempi di rnorm in azione:
#generate a vector that shows the number of successes of 10 binomial experiments with #100 trials where the probability of success on each trial is 0.3. results <- rbinom(10, size=100, prob=.3) results # [1] 31 29 28 30 35 30 27 39 30 28 #find mean number of successes in the 10 experiments (compared to expected #mean of 30) mean(results) # [1] 32.8 #generate a vector that shows the number of successes of 1000 binomial experiments #with 100 trials where the probability of success on each trial is 0.3. results <- rbinom(1000, size=100, prob=.3) #find mean number of successes in the 100 experiments (compared to expected #mean of 30) mean(results) # [1] 30.105
Si noti che più variabili casuali creiamo, più il numero medio di successi si avvicina al numero di successi previsto.
Nota: “Numero atteso di successi” = n * p dove n è il numero di prove e p è la probabilità di successo per ciascuna prova.