## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup--------------------------------------------------------------------
library(GLMMcosinor)

## ----message=F, warning=F, eval=F---------------------------------------------
#  testdata <- simulate_cosinor(
#    n = 200,
#    mesor = 1,
#    amp = 2,
#    acro = 1.2,
#    period = 12,
#    n_period = 3,
#    family = "poisson"
#  )
#  
#  testdata

## ----message=F, warning=F, eval=F---------------------------------------------
#  object <- cglmm(
#    Y ~ amp_acro(times,
#      n_components = 1,
#      period = 12
#    ),
#    data = testdata,
#    family = poisson()
#  )
#  summary(object)
#  autoplot(object, superimpose.data = TRUE)

## ----message=F, warning=F, eval=F---------------------------------------------
#  simulate_cosinor(
#    n = 100,
#    mesor = 1,
#    amp = 2,
#    acro = 1.2,
#    period = 12,
#    beta.group = TRUE,
#    beta.mesor = 0.4,
#    beta.amp = 0.5,
#    beta.acro = 0.2,
#    n_period = 3,
#    n_components = 1,
#    family = "poisson"
#  )

## ----message=F, warning=F, echo=F---------------------------------------------
testdata <- simulate_cosinor(
  n = 100,
  mesor = 1,
  amp = 2,
  acro = 1.2,
  period = 12,
  beta.group = TRUE,
  beta.mesor = 0.4,
  beta.amp = 0.5,
  beta.acro = 0.2,
  n_components = 1,
  n_period = 3,
  family = "gaussian"
)

DT::datatable(testdata)
object <- cglmm(
  Y ~ group + amp_acro(times,
    n_components = 1,
    period = 12,
    group = "group"
  ),
  data = testdata,
  family = gaussian()
)
summary(object)
autoplot(object, superimpose.data = TRUE)

## ----message=F, warning=F, eval=F---------------------------------------------
#  testdata <- simulate_cosinor(
#    n = 200,
#    mesor = 1,
#    amp = c(0.2, 1),
#    acro = c(1.2, 2),
#    period = c(12, 6),
#    n_components = 2,
#    n_period = 2,
#    family = "poisson"
#  )
#  
#  testdata
#  object <- cglmm(
#    Y ~ amp_acro(times,
#      n_components = 2,
#      period = c(12, 6)
#    ),
#    data = testdata,
#    family = poisson()
#  )
#  summary(object)
#  autoplot(object, superimpose.data = TRUE)

## ----message=F, warning=F, fig.show = "hold"----------------------------------
testdata <- simulate_cosinor(100,
  mesor = 7,
  amp = c(0.1, 0.4, 0.5),
  acro = c(1, 1.5, 0.1),
  beta.mesor = 4.4,
  beta.amp = c(2, 1, 0.4),
  beta.acro = c(1, -1.5, -1),
  family = "poisson",
  period = c(12, 6, 8),
  n_period = 2,
  n_components = 3
)

object <- cglmm(Y ~ group + amp_acro(times,
  n_components = 3,
  period = c(12, 6, 8),
  group = "group"
), data = testdata, family = poisson())
summary(object)
autoplot(object,
  superimpose.data = TRUE,
  x_str = "group",
  predict.ribbon = FALSE
)

## ----message=F, warning=F, fig.show = "hold"----------------------------------
testdata <- simulate_cosinor(500,
  mesor = 1,
  amp = c(0.5, 0.5, 0.5),
  acro = c(pi, pi / 2, pi),
  alpha = 2,
  beta.mesor = 2,
  beta.amp = c(0.2, 0.2, 0.2),
  beta.acro = c(pi / 2, pi, pi / 2),
  beta.alpha = 3,
  family = "gamma",
  period = c(12, 6, 8),
  n_period = 2,
  n_components = 3
)

object <- cglmm(Y ~ group + amp_acro(times,
  n_components = 3,
  period = c(12, 6, 8),
  group = "group"
), data = testdata, family = Gamma(link = "log"))
summary(object)
autoplot(object,
  superimpose.data = TRUE,
  x_str = "group",
  predict.ribbon = FALSE
)