# Install packages and dependencies
library(inti)
library(dplyr)
library(huito)Planning an experiment follows a reproducible routine:
inti, knitr, and dplyr packages.# Install packages and dependencies
library(inti)
library(dplyr)
library(huito)When evaluating two or more factors, four designs become available: CRD, RCBD, Split-plot RCBD, and Augmented.
The Split-plot Design is recommended when one factor requires larger experimental units due to management constraints (such as irrigation) assigned to main plots, while a second factor (such as commercial quinoa varieties) is assigned to sub-plots within each main plot.
# 1. Define factors: Irrigation regimes (main plots) and commercial quinoa varieties (sub-plots)
factors_split <- list(
Irrigation = c("Full", "Deficit"),
Variety = c("Var_1", "Var_2", "Var_3")
)
# 2. Generate Split-plot layout: 2 main levels x 3 sub levels x 4 blocks = 24 plots
split_exp <- design_split(
factors = factors_split,
type = "split_rcbd",
rep = 4,
zigzag = TRUE,
seed = 2026
)
# Fieldbook preview
split_exp$fieldbook %>%
head(10) %>%
knitr::kable(caption = "Split-plot Fieldbook preview")| qrcode | plots | ntreat | Irrigation | Variety | wp_sp | block | sort | rows | cols | design |
|---|---|---|---|---|---|---|---|---|---|---|
| inkaverse_1001_Full_Var_1 | 1001 | 1 | Full | Var_1 | Full_Var_1 | 1 | 1 | 1 | 1 | split-rcbd |
| inkaverse_1002_Full_Var_2 | 1002 | 3 | Full | Var_2 | Full_Var_2 | 1 | 2 | 2 | 1 | split-rcbd |
| inkaverse_1003_Full_Var_3 | 1003 | 5 | Full | Var_3 | Full_Var_3 | 1 | 3 | 3 | 1 | split-rcbd |
| inkaverse_1004_Deficit_Var_2 | 1004 | 4 | Deficit | Var_2 | Deficit_Var_2 | 1 | 4 | 3 | 2 | split-rcbd |
| inkaverse_1005_Deficit_Var_1 | 1005 | 2 | Deficit | Var_1 | Deficit_Var_1 | 1 | 5 | 2 | 2 | split-rcbd |
| inkaverse_1006_Deficit_Var_3 | 1006 | 6 | Deficit | Var_3 | Deficit_Var_3 | 1 | 6 | 1 | 2 | split-rcbd |
| inkaverse_2001_Deficit_Var_1 | 2001 | 2 | Deficit | Var_1 | Deficit_Var_1 | 2 | 1 | 4 | 1 | split-rcbd |
| inkaverse_2002_Deficit_Var_3 | 2002 | 6 | Deficit | Var_3 | Deficit_Var_3 | 2 | 2 | 5 | 1 | split-rcbd |
| inkaverse_2003_Deficit_Var_2 | 2003 | 4 | Deficit | Var_2 | Deficit_Var_2 | 2 | 3 | 6 | 1 | split-rcbd |
| inkaverse_2004_Full_Var_1 | 2004 | 1 | Full | Var_1 | Full_Var_1 | 2 | 4 | 6 | 2 | split-rcbd |
# Field layout visualization
tarpuy_plotdesign(
data = split_exp,
factor = "Irrigation",
fill = c("plots", "Variety")
)The experimental field book generated by the design is used as the input data for label creation. Each row represents an experimental unit, allowing the automatic generation of individualized labels.
# Experimental fieldbook
fb <- split_exp$fieldbookThe label layout can be customized by combining text, images and QR codes. Each layer can use values from the experimental field book, allowing automatic generation of labels for every experimental plot.
Load package and import fonts.
font <- c("Permanent Marker", "Tillana", "Courgette")
huito_fonts(font)You can find more fonts in https://fonts.google.com/
label <- fb %>%
label_layout(size = c(10, 2.5)
, border_color = "blue"
) %>%
include_image(
value = "https://flavjack.github.io/inti/img/inkaverse.png"
, size = c(2.1, 2.4)
, position = c(1.2, 1.25)
# , opts = list("image_scale(200)", "image_noise()")
) %>%
include_barcode(
value = "barcode"
, size = c(2.5, 2.5)
, position = c(8.2, 1.25)
) %>%
include_text(value = "INKAVERSE"
, position = c(4.6, 2)
, size = 20
, font = font[1]
, fontface = "bold"
, color = "red"
) %>%
include_text(value = "Irrigation"
, position = c(2.4, 1.2)
, size = 12
, opts = list(hjust = 0.0, vjust = 0.0)
, font = font[2]
, color = "black"
, prefix = "Irrigation: "
, fontface = "bold"
) %>%
include_text(value = "Variety"
, position = c(2.4, 0.5)
, opts = list(hjust = 0.0, vjust = 0.0)
, size = 12
, color = "#009966"
, font = font[2]
, prefix = "Variety: "
, fontface = "bold"
) %>%
include_text(value = "plots"
, position = c(9.7, 1.25)
, angle = 90
, size = 12
, color = "brown"
, font = font[3]
, prefix = "Plot: "
) The preview mode label_print(mode = "preview") generate a example of the label design from a random row of the data set.
If you want generate the complete labels list, change: label_print(mode = "complete").
label %>%
label_print(mode = "complete"
, filename = "horizontal-split"
, nlabels = 12)