R/mybinomial.r

Defines functions mybinomial

Documented in mybinomial

#' @title Binomial distribution simulator
#'
#' @param iter The number of iterations to simulate, an integer
#' @param n The size of the binomial distribution
#' @param p The probability of success
#'
#' @return A barplot of the binomial distribution
#' @export
#'
#' @importFrom grDevices rainbow
#' @importFrom graphics barplot
#'
#' @examples
#' \dontrun{mybin(iter = 10000, n = 20, p = 0.7)}
mybinomial=function(iter=100,n=10, p=0.5){
  # make a matrix to hold the samples
  #initially filled with NA's
  sam.mat=matrix(NA,nrow=n,ncol=iter, byrow=TRUE)
  #Make a vector to hold the number of successes in each trial
  succ=c()
  for( i in 1:iter){
    #Fill each column with a new sample
    sam.mat[,i]=sample(c(1,0),n,replace=TRUE, prob=c(p,1-p))
    #Calculate a statistic from the sample (this case it is the sum)
    succ[i]=sum(sam.mat[,i])
  }
  #Make a table of successes
  succ.tab=table(factor(succ,levels=0:n))
  #Make a barplot of the proportions
  barplot(succ.tab/(iter), col=rainbow(n+1), main="Binomial simulation", xlab="Number of successes")
  succ.tab/iter
}
sam-irl/MATH4753bird0023 documentation built on May 3, 2022, 6:29 p.m.