I've been running into some weird problems when using this code:
positions<-c(58256)
occurrencies<-c(30)
frequency<-c(11/5531777)
length<-c(4)
prob<-c(0)
for(i in 0:(occurrencies-1))
{
pow<-frequency^i
pow1<-(1-frequency)^(positions-i)
bin<-choose(positions, i)
prob<<-prob+(bin*pow*pow1)
}
Each iteration of this for loop should calculate the binomial probability that, i
number of occurrences of the event occur given the frequency. Each iteration also sums up the result. This should result in the prob
variable never exceeding 1, but after 7 or so for loop iterations, everything goes to hell and prob
excedes 1.
I thought it might be a question of precision digits, so i tried using Rmpfr but to no avail- the same problem persisted.
I was wondering if there are any tips or packages to overcome this situation, or if I'm stuck with this.
Following Ben Bolker's advice to see
?pbinom
You can avoid your
for
loop by doingI don't know if this is your desired result, but surely you can avoid the
for
loop going this fashion.See @Ben Bolker's comment and take a look at
pbinom
function.