Przewodnik po dbinom, pbinom, qbinom i rbinom w r
W tym samouczku wyjaśniono, jak używać rozkładu dwumianowego w języku R przy użyciu funkcji dbinom , pbinom , qbinom i rbinom .
dbinom
Funkcja dbinom zwraca wartość funkcji gęstości prawdopodobieństwa (pdf) rozkładu dwumianowego przy danej zmiennej losowej x , liczbie prób (rozmiar) i prawdopodobieństwie powodzenia każdej próby (prob). Składnia używania dbinom jest następująca:
dbinom(x, rozmiar, prawdopodobieństwo)
Mówiąc najprościej, dbinom znajduje prawdopodobieństwo uzyskania określonej liczby sukces (x) w określonej liczbie prób (rozmiar), przy czym prawdopodobieństwo sukcesu w każdej próbie jest stałe (prawdopodobne) .
Poniższe przykłady ilustrują, jak rozwiązać niektóre pytania dotyczące prawdopodobieństwa za pomocą dbinom.
Przykład 1: Bob wykonuje 60% swoich prób rzutów wolnych. Jeśli wykona 12 rzutów wolnych, jakie jest prawdopodobieństwo, że trafi dokładnie 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
Prawdopodobieństwo, że odda on dokładnie 10 strzałów, wynosi 0,0639 .
Przykład 2: Sasza rzuca 20 razy uczciwą monetą. Jakie jest prawdopodobieństwo, że na monecie wypadnie dokładnie 7 orłów?
#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
Prawdopodobieństwo, że na monecie wypadnie reszka dokładnie 7 razy, wynosi 0,0739 .
pbinom
Funkcja pbinom zwraca wartość funkcji gęstości skumulowanej (cdf) rozkładu dwumianowego przy określonej zmiennej losowej q , liczbie prób (rozmiar) i prawdopodobieństwie powodzenia każdej próby (prob). Składnia używania pbinom jest następująca:
pbinom(q, rozmiar, prawdopodobieństwo)
Mówiąc najprościej, pbinom zwraca obszar na lewo od danej wartości q w rozkładzie dwumianowym. Jeśli interesuje Cię obszar na prawo od danej wartości q , możesz po prostu dodać argument less.tail = FALSE
pbinom(q, rozmiar, prawdopodobieństwo, dolny.ogon = FAŁSZ)
Poniższe przykłady ilustrują, jak rozwiązać niektóre pytania dotyczące prawdopodobieństwa za pomocą pbinom.
Przykład 1: Ando rzuca 5 razy uczciwą monetą. Jakie jest prawdopodobieństwo, że na monecie wypadnie reszka więcej niż dwa razy?
#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
Prawdopodobieństwo, że na monecie wypadnie reszka więcej niż dwa razy, wynosi 0,5 .
Przykład 2: Załóżmy, że Tyler podczas gry trafia w 30% swoich prób. Jeśli zagra 10 razy, jakie jest prawdopodobieństwo, że uzyska 4 lub mniej trafień?
#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
Prawdopodobieństwo, że zdobędzie 4 lub mniej trafień, wynosi 0,8497 .
qbinom
Funkcja qbinom zwraca wartość odwrotnej funkcji gęstości skumulowanej (cdf) rozkładu dwumianowego przy określonej zmiennej losowej q , liczbie prób (rozmiar) i prawdopodobieństwie powodzenia każdej próby (prob). Składnia używania qbinom jest następująca:
qbinom(q, rozmiar, prawdopodobieństwo)
Mówiąc prościej, możesz użyć qbinom , aby znaleźć p-ty kwantyl rozkładu dwumianowego.
Poniższy kod demonstruje kilka przykładów qbinom w akcji:
#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
Funkcja rbinom generuje wektor zmiennych losowych o rozkładzie dwumianowym, mając długość wektora n , liczbę prób (rozmiar) i prawdopodobieństwo sukcesu w każdej próbie (prob). Składnia używania rbinom jest następująca:
rbinom(n, rozmiar, prawdopodobieństwo)
Poniższy kod demonstruje kilka przykładów rnorm w akcji:
#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
Zauważ, że im więcej zmiennych losowych utworzymy, tym średnia liczba sukcesów jest bliższa oczekiwanej liczbie sukcesów.
Uwaga: „Oczekiwana liczba sukcesów” = n * p , gdzie n to liczba prób, a p to prawdopodobieństwo sukcesu w każdej próbie.