## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 6, fig.height = 4)

## ----parallel-----------------------------------------------------------------
library(iop)
data(pta)
m_pl <- ologit(flexibility ~ depth + democracy + gdp + gdppc + trade, data = pta)
parallel_test(m_pl)
m_auto <- ologit(flexibility ~ depth + democracy + gdp + gdppc + trade, data = pta, parallel = "auto")
m_auto$autofit$relaxed
lr_test(m_pl, m_auto)

## ----tiopc--------------------------------------------------------------------
f <- flexibility ~ depth * democracy + gdp + gdppc + trade + gattwto + members + democratization |
  gdp + gdppc + democracy + democratization
m_tiop  <- iop(f, data = pta, inflate = "top")
m_tiopc <- iop(f, data = pta, inflate = "top", correlated = TRUE)
c(rho = coef(m_tiopc)["rho"], confint(m_tiopc, parm = "rho"))
lr_test(m_tiop, m_tiopc)

## ----gziop, message = FALSE---------------------------------------------------
f_bp <- violence ~ loggdppc + parliament + disaster + major_oil + major_primary |
  loggdppc + parliament
m_common   <- iop(f_bp, data = bp, inflate = "bottom")
m_category <- iop(f_bp, data = bp, inflate = "bottom", split = "category")
compare_models(common = m_common, category = m_category)
split_test(m_common)
m_category

## ----exclusion, message = TRUE------------------------------------------------
data(bp)
m_same <- iop(violence ~ loggdppc + disaster | loggdppc + disaster, data = bp, inflate = "bottom")

## ----multistart, message = FALSE----------------------------------------------
m_ziop <- iop(violence ~ loggdppc + parliament + disaster + major_oil + major_primary |
                loggdppc + parliament + disaster + major_oil + major_primary,
              data = bp, inflate = "bottom")
sort(round(m_ziop$start_logliks, 2), decreasing = TRUE)

## ----boundary, warning = TRUE-------------------------------------------------
set.seed(1)
d0 <- riop(500, beta = c(0.8, -0.5), tau = c(-0.5, 0.7), gamma = c(3.5, 0.1), inflate = "bottom")
mean(attr(d0, "regime") == 0)                 # no inflated-regime units were drawn
m0 <- iop(y ~ x1 + x2 | z1, data = d0, inflate = "bottom")
m0$boundary
c(inflated = m0$loglik, ordered = m0$loglik_uninflated)

## ----boot-lr, eval = FALSE----------------------------------------------------
# inflation_test(m_ziop, boot = 199)

