# How to analyze experiment (based on DoE and via mixed model)?

I am about to deploy my DoE which is based on six parameters with two whole plots: Temperature and relative humidity. The experiment aims at studying a sensor due to the presence of several gases (which will be injected in series). Following designs are currently of interest:

FrF2(nruns = 32, nfactors = 6, factor.names = c("T", "rH",
"p", "H2", "CO", "C2H4"), default.levels = c("low",
"high"), randomize = TRUE)

Experimental design of type  FrF2
32  runs

Factor settings (scale ends):
T   rH    p   H2   CO C2H4
1  low  low  low  low  low  low
2 high high high high high high

Design generating information:
$legend [1] A=T B=rH C=p D=H2 E=CO F=C2H4$generators
[1] F=ABCDE

Alias structure:
[[1]]
[1] no aliasing among main effects and 2fis

The design itself:
T   rH    p   H2   CO C2H4
1   low high high  low high high
2   low high  low high  low  low
3   low  low high high high high
4   low high high  low  low  low
5  high high  low high  low high
6  high  low  low high high high
7  high high  low high high  low
8   low high high high  low high
9   low  low  low  low  low  low
10 high  low high high high  low
11 high high high high high high
12  low  low  low high high  low
13 high high high  low  low high
14 high  low high  low  low  low
15 high high  low  low high high
16 high high high  low high  low
17  low  low high  low high  low
18  low high  low  low high  low
19  low high  low high high high
20 high  low high  low high high
21 high  low  low  low high  low
22  low  low  low  low high high
23 high high  low  low  low  low
24  low  low high  low  low high
25 high  low high high  low high
26 high  low  low  low  low high
27  low  low  low high  low high
28  low high high high high  low
29  low high  low  low  low high
30 high high high high  low  low
31  low  low high high  low  low
32 high  low  low high  low  low
class=design, type= FrF2

FrF2(nruns = 32, nfactors = 6, factor.names = c("T", "rH",
"p", "H2", "CO", "C2H4"), default.levels = c("low",
"high"), WPs = 4, nfac.WP = 2, randomize = TRUE)

Experimental design of type  FrF2.splitplot
32  runs

Factor settings (scale ends):
T   rH    p   H2   CO C2H4
1  low  low  low  low  low  low
2 high high high high high high

Design generating information:
$legend [1] A=T B=rH C=p D=H2 E=CO F=C2H4$generators
[1] F=ABCDE

no aliasing of main effects or 2fis  among experimental factors

split-plot design:  4  whole plots
first  2  factors are whole plot factors

The design itself:
run.no run.no.std.rp    T  rH    p   H2   CO C2H4
1      1        18.3.2 high low  low  low high  low
2      2        19.3.3 high low  low high  low  low
3      3        20.3.4 high low  low high high high
4      4        21.3.5 high low high  low  low  low
5      5        23.3.7 high low high high  low high
6      6        24.3.8 high low high high high  low
7      7        17.3.1 high low  low  low  low high
8      8        22.3.6 high low high  low high high
run.no run.no.std.rp    T   rH    p   H2   CO C2H4
9       9        25.4.1 high high  low  low  low  low
10     10        31.4.7 high high high high  low  low
11     11        30.4.6 high high high  low high  low
12     12        27.4.3 high high  low high  low high
13     13        26.4.2 high high  low  low high high
14     14        32.4.8 high high high high high high
15     15        28.4.4 high high  low high high  low
16     16        29.4.5 high high high  low  low high
run.no run.no.std.rp   T  rH    p   H2   CO C2H4
17     17         8.1.8 low low high high high high
18     18         1.1.1 low low  low  low  low  low
19     19         6.1.6 low low high  low high  low
20     20         3.1.3 low low  low high  low high
21     21         2.1.2 low low  low  low high high
22     22         7.1.7 low low high high  low  low
23     23         5.1.5 low low high  low  low high
24     24         4.1.4 low low  low high high  low
run.no run.no.std.rp   T   rH    p   H2   CO C2H4
25     25        16.2.8 low high high high high  low
26     26         9.2.1 low high  low  low  low high
27     27        13.2.5 low high high  low  low  low
28     28        10.2.2 low high  low  low high  low
29     29        12.2.4 low high  low high high high
30     30        11.2.3 low high  low high  low  low
31     31        15.2.7 low high high high  low high
32     32        14.2.6 low high high  low high high
class=design, type= FrF2.splitplot

FrF2(nruns = NULL, nfactors = 6, factor.names = c("T",
"rH", "p", "H2", "CO", "C2H4"),
default.levels = c("low", "high"), resolution = 6,
randomize = TRUE)

Experimental design of type  FrF2
32  runs

Factor settings (scale ends):
T   rH    p   H2   CO C2H4
1  low  low  low  low  low  low
2 high high high high high high

Design generating information:
$legend [1] A=T B=rH C=p D=H2 E=CO F=C2H4$generators
[1] F=ABCDE

Alias structure:
[[1]]
[1] no aliasing among main effects and 2fis

The design itself:
T   rH    p   H2   CO C2H4
1   low  low  low high high  low
2   low  low high high  low  low
3  high  low  low high  low  low
4  high  low high high  low high
5   low  low high  low high  low
6  high high  low high high  low
7  high  low  low  low  low high
8  high  low  low  low high  low
9  high  low high  low high high
10  low high  low high high high
11  low  low  low  low high high
12  low high high  low  low  low
13  low  low  low high  low high
14 high high  low  low  low  low
15 high high high high  low  low
16 high  low  low high high high
17 high  low high  low  low  low
18  low  low  low  low  low  low
19  low high  low high  low  low
20  low high  low  low  low high
21  low high high  low high high
22  low  low high high high high
23  low high  low  low high  low
24 high high high high high high
25 high high high  low high  low
26  low  low high  low  low high
27  low high high high high  low
28 high high  low high  low high
29 high  low high high high  low
30 high high  low  low high high
31 high high high  low  low high
32  low high high high  low high
class=design, type= FrF2


Experimental background: The gases H2, CO and C2H4 are of interest. As I am also (somehow) used to mixed models, I would like to use a lmm to analyze the results. Of interest is, of course, how T, rH and p affect the gas injection wrt to the sensor (which means how the gas changes its resistance). The sensors are housed and the parameters like T, rh and p can be controlled through several settings. The gases will be injected manually into the system.

I already begin to think about constructing the final relationship for it:

R_gas = [R_{H2}, R_{CO}, R_{C2H4}]

lmer(R_gas ~ T + rH + p + (1|Sensor), df)


Finally, I would like to know, basically everything I can drag out of this experiment. But of main interest is how the sensor just reacts to the gases due to the applied parameters. In total, about 20-30 sensors will be examined in parallel. R's lmer cheat sheet is quite useful yet I don't know how to apply it to my purpose.

edit: A better description about the sensor and the gases: The sensor has a resistance and its value R_gas changes (decreases) with the presence of any of these gases. So in principal it should be R_H2, R_{CO}, R_{C2H4}. Sensor would then probably be the serial number or any other ID to identify the sensors individually.

edit edit: Goals of the experiment are:

• Study variances/differences within the sensors

• Study the response of the sensors in general (mean value..?)

• Does pressure have any influence on the response?

• Do the gases affect each other? Means, will the presence of a gas affect the detection of another gas?

Further goals which I think should be addressed in another experiment but maybe it is doable though?

• Determine optimal working point of the sensors

• Examine repeatability (will the sensors show the same response)

• 1) We cannot see the variable Sensor in your data.frame. 2) Why do you think there is a need for mixed effects? Is there a split plot structure to the experiment? You need to describe the layout better – kjetil b halvorsen Oct 10 at 11:52
• 1) Sorry, that's right. The gases mean their response to the sensor. So above experiment would be valid for one sensor and there are about 20-30 in total and tested in groups of eight. 2) Afaik, e.g., anovas are included in a mixed model and I am more used to mixed model and just in case I want to study something special somewhen I am more flexible with a mixed model? And indeed, a split plot design will be applied eventually. I add the according design to the question. – Ben Oct 10 at 12:14
• I still find it difficult to decipher! Sensor means the sensor response of H2, CO and C2H4, so looks like a response variable, but in model formula (1|Sensor) is used as factor variable coding the different sensors. So what is it? How many sensors in all? Can you describe the experimental protocol with more detail, without using statistical language? – kjetil b halvorsen Oct 10 at 21:02
• You're absolutely right. Your question help me a lot to better understand the experiment and how to assign the different variables or terms. I added some information, hope it is understandable now? – Ben Oct 11 at 5:20
• I still don't understand the response variable Gas. Is it a measurement? How is it measured? ... – kjetil b halvorsen Oct 11 at 11:44

This is still not entirely clear, and you have many research objectives for the design. Some might be difficult to investigate with this design. Some points:

• I will assume analyzing only one response at a time, so three analyzes for each of the responses. Maybe some questions need a multivariate analysis, but anyhow you should start with the univariate analyses.
• Do the gases affect each other? Means, will the presence of a gas affect the detection of another gas? Might need estimation of interactions between the three concentration variables H2, CO, C2H4, but your design has low resolution (look at the alias structure) and do not permit identification of two-way interactions. Maybe try a design that at least permits interactions between the concentration variables.

Treating Sensor as a blocking variable, I would start out with a model like

library(lme4)
mod0 <- lmer( Gas ~ T+rH+p+H2+CO+C2H4+(1 | Sensor), data=your_data_frame )


which simply treats Sensor as an error strata. This will in itself not permit analyses for your questions about the sensors, apart from giving a variance between sensors. But then I don't think there is enough information in your question to say more about that.

EDIT


After the edit to the question (with new designs, now with 32 runs and higher resolution, so some of the points above (about resolution) don' t longer apply.)

This looks OK, I cannot see how to choose between them, apart from:

• If there is a splitplot structure to the experiment, so that some runs are done in blocks, that must be reflected in the formal design (and in analysis.)

• The split-plot design listed includes two whole-plot factors. Was that intended? In the description given in the question there is no mention of whole-plot factors.

• Thanks a lot, this really helps me. I will try to find a better design with a higher resolution. In general, what do you think which information are missing? – Ben Oct 14 at 5:11
• I updated the DoEs. Are there any differences between them? I realize that one of them is a split plot design but all provide no aliasing among main effects and 2fis so I conclude they should be all equal to each other (in principle?!)? – Ben Oct 14 at 7:25