## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(collapse = FALSE, comment = "", fig.width = 7, fig.height = 4.2,
                      dev = if (knitr::is_latex_output()) "cairo_pdf" else
                        if (requireNamespace("svglite", quietly = TRUE)) "svglite" else "png")
if (requireNamespace("DiallelAnalysisR", quietly = TRUE)) library(DiallelAnalysisR) else
  pkgload::load_all(export_all = FALSE, helpers = FALSE, quiet = TRUE)


## ----blocks-------------------------------------------------------------------
cd <- DiallelAnalysisR:::.da_cell_data(
    y      = GriffingData1$Yield
  , p1     = GriffingData1$Cross1
  , p2     = GriffingData1$Cross2
  , rep    = GriffingData1$Rep
  , method = 1L
  , fn     = "example"
  )
names(cd)
round(x = cd$M[1:3, 1:3], digits = 2)
cd$anova


## ----heterosis----------------------------------------------------------------
cd2 <- DiallelAnalysisR:::.da_cell_data(
    y      = GriffingData2$Yield
  , p1     = GriffingData2$Cross1
  , p2     = GriffingData2$Cross2
  , rep    = GriffingData2$Rep
  , method = 2L
  , fn     = "example"
  )
M <- cd2$M
mid <- outer(X = diag(M), Y = diag(M), FUN = "+") / 2
het <- 100 * (M - mid) / mid
diag(het) <- NA
round(x = het[1:4, 1:4], digits = 1)


## ----heterosis-fn-------------------------------------------------------------
h <-
  Heterosis(
      y      = Yield
    , Rep    = Rep
    , Cross1 = Cross1
    , Cross2 = Cross2
    , data   = GriffingData2
    , Check  = NULL
    , Better = c("higher", "lower")[1]
    )
all.equal(target = h$Heterosis$MP[1:3], current = het[1, 2:4], check.attributes = FALSE)

