pBin<-function(k,p,n) { newton<-factorial(n)/(factorial(k)*factorial(n-k)) return (newton*p^(k)*(1-p)^(n-k)); } #rozkład bernoulliego drawBinomial<-function(p,n) { arg<-0:n; val<-pBin(arg,p,n); valN<-dnorm(arg,mean=n*p,sd=sqrt(n*p*(1-p))); plot(arg,val,lwd=3,col="blue",ylim=c(0,max(val,valN)),lty=1,xlab="Liczba sukcesów",ylab="Prawdopodobieństwo"); lines(arg,val,col="blue"); lines(col="red",arg,valN); lines(col="red",arg,valN,type="p"); legend("topright", c("N", "Bin"), lty=c(1,1),col = c("blue","red"), pch = c(1, 1) ) } drawDist<-function(p,n) { arg<-0:n; val<-cumsum(pBin(arg,p,n)); plot(arg,val,lwd=3,col="blue",lty=1,xlab="Liczba sukcesów",ylab="Prawdopodobieństwo"); lines(arg,val,col="blue"); valN<-pnorm(arg+0.5,mean=n*p,sd=sqrt(n*p*(1-p))); lines(col="red",arg,valN); lines(col="red",arg,valN,type="p"); legend("bottomright", c("N", "Bin"), lty=c(1,1),col = c("blue","red"), pch = c(1, 1) ) } draw<-function(p,n) { par(mfrow=c(2,1)) drawBinomial(p,n); drawDist(p,n); } draw(0.5,10);