R/calc_new_coverage.R

#' Calculates the new vaccination coverage based on the old vaccination coverage.
#' 
#' @param cov1 Old vaccination coverage.
#' @param cov2 New vaccination coverage.
#' 
#' @examples
#' calc.new.coverage(cov1,cov2,skew=0)
#' @keywords internal

calc.new.coverage = function(cov1,cov2,skew=0) {
  
  if(skew==0) return(cov1+cov2-cov1*cov2)
  
  else if(skew==1) return(max(cov1,cov2))
  else if(skew==-1) return(min(1,cov1+cov2))
  else {
    if(cov1>cov2) {# making sure that cov1<=cov2:
      tmp=cov2
      cov2=cov1
      cov1=tmp
    }
    pop.prop<-c(cov1,(cov2-cov1),1-cov2)
    c1.strat<-(c(1,0,0)*skew+(1-skew)*cov1)
    c2.strat<-(c(1,1,0)*skew+(1-skew)*cov2)
    return(sum((1-(1-c1.strat)*(1-c2.strat))*pop.prop))
  }
} 
arranhamlet/popvac_package documentation built on May 10, 2019, 1:48 p.m.