## ----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)


## ----cells--------------------------------------------------------------------
cells <- function(d) {
  i <- as.numeric(as.character(d$Cross1))
  j <- as.numeric(as.character(d$Cross2))
  u <- unique(data.frame(i = i, j = j))
  c(parents = length(unique(c(i, j))), selfs = sum(u$i == u$j), above = sum(u$i < u$j), below = sum(u$i > u$j))
}
rbind(
    Data1 = cells(d = GriffingData1)
  , Data2 = cells(d = GriffingData2)
  , Data3 = cells(d = GriffingData3)
  , Data4 = cells(d = GriffingData4)
  )


## ----missing------------------------------------------------------------------
d <- subset(x = GriffingData1, subset = !(Cross1 == 1 & Cross2 == 2))
tryCatch(
    expr  = Griffing(
        y          = Yield
      , Rep        = Rep
      , Cross1     = Cross1
      , Cross2     = Cross2
      , data       = d
      , Method     = 1
      , Model      = 1
      , Reciprocal = c("combined", "split")[1]
      )
  , error = function(e) conditionMessage(e)
  )


## ----columns------------------------------------------------------------------
d <- GriffingData1
names(d) <- c("Female", "Male", "Block", "GrainYield")
fit <-
  Griffing(
      y          = "GrainYield"
    , Rep        = Block
    , Cross1     = Female
    , Cross2     = Male
    , data       = d
    , Method     = 1
    , Model      = 1
    , Reciprocal = c("combined", "split")[1]
    )
fit$ANOVA

