## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 7,
                      fig.height = 4.5, dpi = 120)

## ----setup--------------------------------------------------------------------
library(trialSizing)

## ----data, message = FALSE----------------------------------------------------
grid_mat <- function(t)
  as.matrix(uniformity_trial[uniformity_trial$trial == t,
                             grep("^col", names(uniformity_trial))])

tab1 <- calc_cv_shapes(grid_mat("T1"))
X   <- tab1$x
n   <- tab1$n
CV1 <- tab1$cv
CV2 <- calc_cv_shapes(grid_mat("T2"))$cv
CV3 <- calc_cv_shapes(grid_mat("T3"))$cv

## ----fit----------------------------------------------------------------------
fit <- fit_mcm(x = X, cv = CV1)
fit

## ----summary------------------------------------------------------------------
summary(fit)

## ----check--------------------------------------------------------------------
a <- unname(fit$coefficients["a"]); b <- unname(fit$coefficients["b"])
c(formula  = ((a^2 * b^2 * (2 * b + 1)) / (b + 2))^(1 / (2 * b + 2)),
  reported = unname(fit$parameters["Breakpoint"]))

## ----predict------------------------------------------------------------------
predict(fit, newx = c(1, 6, 18))

## ----methods------------------------------------------------------------------
rbind(
  nls        = fit_mcm(X, CV1, method = "nls")$parameters[c("Breakpoint", "R2")],
  loglinear  = fit_mcm(X, CV1, method = "loglinear")$parameters[c("Breakpoint", "R2")],
  loglin_df  = fit_mcm(X, CV1, method = "loglinear",
                       df = n - 1)$parameters[c("Breakpoint", "R2")]
)

## ----plot---------------------------------------------------------------------
plot(fit, title = "Trial 1")

## ----plot-ptbr----------------------------------------------------------------
plot(fit, title = "Ensaio 1", decimal_mark = ",")

## ----save, eval = FALSE-------------------------------------------------------
# plot(fit, title = "Trial 1",
#      save = TRUE, file = "trial1_mcm.tiff", format = "tiff", dpi = 300)

## ----multi--------------------------------------------------------------------
trials <- rbind(
  data.frame(x = X, cv = CV1, trial = "Trial 1"),
  data.frame(x = X, cv = CV2, trial = "Trial 2"),
  data.frame(x = X, cv = CV3, trial = "Trial 3")
)

res <- fit_mcm(trials, x = "x", cv = "cv", trial = "trial")
res

## ----multi-df, eval = FALSE---------------------------------------------------
# trials$df <- rep(n - 1, 3)
# fit_mcm(trials, x = "x", cv = "cv", df = "df", trial = "trial",
#         method = "loglinear")

## ----multi-plot, eval = FALSE-------------------------------------------------
# plot(res, label_size = 3)

