Dziwne problemy precyzji w R podczas obliczania skumulowanego prawdopodobieństwa dwumianowego

Podczas korzystania z tego kodu miałem do czynienia z dziwnymi problemami:

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)
}

Każda iteracja tej pętli for powinna obliczać prawdopodobieństwo dwumianowe, które,i liczba wystąpień zdarzenia występuje, biorąc pod uwagę częstotliwość. Każda iteracja podsumowuje również wynik. Powinno to skutkowaćprob zmienna nigdy nie przekracza 1, ale po około 7 dla iteracji pętli, wszystko idzie do piekła iprob poprzedza 1.

Myślałem, że to może być kwestia precyzyjnych cyfr, więc spróbowałem użyćRmpfr ale bezskutecznie - ten sam problem trwał.

Zastanawiałem się, czy są jakieś wskazówki lub pakiety, aby przezwyciężyć tę sytuację, lub jeśli utknąłem z tym.

questionAnswers(2)

yourAnswerToTheQuestion