params <-
list(EVAL = FALSE)

## ----glmmTMB, load_lib,echo=FALSE---------------------------------------------
library(glmmTMB)
knitr::opts_chunk$set(eval = if (isTRUE(exists("params"))) params$EVAL else FALSE)

## ---- eval = FALSE------------------------------------------------------------
#  #' @rdname nbinom2
#  #' @export
#  zo_truncated_poisson <- function(link="log") {
#      r <- list(family="zo_truncated_poisson",
#                variance=function(lambda) {
#                    stop("haven't implemented variance function")
#                    ## should figure this out ...
#                    ## (lambda+lambda^2)/(1-exp(-lambda)) - lambda^2/((1-exp(-lambda))^2)
#                })
#      return(make_family(r,link))
#  }

## ---- eval = FALSE------------------------------------------------------------
#  .noDispersionFamilies <- c("binomial", "poisson", "truncated_poisson",
#                             "zo_truncated_poisson")

## ----testzo, eval = FALSE-----------------------------------------------------
#  library(glmmTMB)
#  set.seed(101)
#  dd <- data.frame(y = rpois(500, exp(1)))
#  table(dd$y)
#  ##  0   1   2   3   4   5   6   7   8   9
#  ## 34  91 117 116  68  45  17   7   3   2
#  dd <- dd[dd$y>1,,drop=FALSE]
#  table(dd$y)
#  ##   2   3   4   5   6   7   8   9
#  ## 117 116  68  45  17   7   3   2
#  glmmTMB(y ~ 1, family = "zo_truncated_poisson", data = dd)

