I have one dataset like below
dataA= structure(list(sowing_date= c("Early", "Early", "Early",
"Early", "Early", "Early",
"Early", "Early", "Early",
"Early", "Early", "Early",
"Late", "Late", "Late",
"Late", "Late", "Late",
"Late", "Late", "Late",
"Late", "Late", "Late"),
herbicide= c("H0", "H0", "H0", "H0", "H0",
"H0", "H1", "H1", "H1", "H1",
"H1", "H1", "H0", "H0", "H0",
"H0", "H0", "H0", "H1", "H1",
"H1", "H1", "H1", "H1"),
nitrogen= c("N0", "N0", "N0", "N1", "N1",
"N1", "N0", "N0", "N0", "N1",
"N1", "N1", "N0", "N0", "N0",
"N1", "N1", "N1", "N0", "N0",
"N0", "N1", "N1", "N1"),
Block= c("Block 1", "Block 2", "Block 3",
"Block 1", "Block 2", "Block 3",
"Block 1", "Block 2", "Block 3",
"Block 1", "Block 2", "Block 3",
"Block 1", "Block 2", "Block 3",
"Block 1", "Block 2", "Block 3",
"Block 1", "Block 2", "Block 3",
"Block 1", "Block 2", "Block 3"),
Yield= c(30, 27, 25, 40, 41, 42, 37, 38,
40, 48, 47, 46, 25, 27, 26, 41,
41, 42,38, 39, 42, 57, 59, 60)),
class= "data.frame",
row.names= c(NA, -24L))
sowing_date herbicide nitrogen Block Yield
1 Early H0 N0 Block 1 30
2 Early H0 N0 Block 2 27
3 Early H0 N0 Block 3 25
4 Early H0 N1 Block 1 40
5 Early H0 N1 Block 2 41
6 Early H0 N1 Block 3 42
7 Early H1 N0 Block 1 37
8 Early H1 N0 Block 2 38
9 Early H1 N0 Block 3 40
10 Early H1 N1 Block 1 48
11 Early H1 N1 Block 2 47
12 Early H1 N1 Block 3 46
13 Late H0 N0 Block 1 25
14 Late H0 N0 Block 2 27
15 Late H0 N0 Block 3 26
16 Late H0 N1 Block 1 41
17 Late H0 N1 Block 2 41
18 Late H0 N1 Block 3 42
19 Late H1 N0 Block 1 38
20 Late H1 N0 Block 2 39
21 Late H1 N0 Block 3 42
22 Late H1 N1 Block 1 57
23 Late H1 N1 Block 2 59
24 Late H1 N1 Block 3 60
Now, my experimental design is strip-plot design, and the corresponding R code is below
library(agricolae)
model= with(dataA, strip.plot(BLOCK=Block,COL=herbicide, ROW=sowing_date, Yield))
However, this model is when there are only two factors like below layout
I have three factors; sowing_date, herbicide and nitrogen. I'd like to randomize nitrogen within herbicide and sowing_date like below layout.
Could you let me know how to analyze strip-plot design when there are three factors? Maybe, I can use split-split plot design, but the layout is designed as strip-plot, so I think it would be more accurate to use the model for strip-plot.
Simply, I added nitrogen in the model, but it doesn't work
model= with(dataA, strip.plot(BLOCK=Block,COL=herbicide, ROW=sowing_date, nitrogen, Yield))
Error in strip.plot(BLOCK = Block, COL = herbicide, ROW = sowing_date, :
unused argument (Yield)
Could you answer my questions?
Thanks,


Original answer
As @Dave2e commented, it sounds like you're looking for a split-split plot design. You can implement it using the ssp.plot() function from the agricolae package:
Example data:
Example code:
Created on 2023-09-04 with reprex v2.0.2
Edit 1
This is outside my area of expertise, so I'm not sure if this helps or not, but if you don't want to use a split-split plot design, you could combine herbicide and nitrogen 'status' into a single factor and get 'reasonable' looking results from a two-factor split-plot design:
Created on 2023-09-04 with reprex v2.0.2