I will try to summarize the comment section and give my thoughts on the dependency in the data. As you have already figured out, a GLMM can model this type of data. The important choices for this type of model are the residual structure and the random effects. The interaction you have included in your model already considers all combinations of effects in the fixed part.
Residual Distribution
The number of observed mature snails is a count. Counts follow a discrete, often skewed distribution. In case the counts are independent, this is the Poisson distribution. Since there are multiple sources of dependency you are trying to account for with a mixed model, it is not unthinkable that the variance in the number of snails exceeds that of the Poisson distribution. You can correct the estimated standard errors for this, by allowing for overdispersion in your model, using a quasi-Poisson distribution. Alternatively, you can use a discrete distribution that has an extra dispersion parameter by default, such as the negative binomial distribution.
The three aliquots of the tanks per day are pseudoreplication, reducing only the measurement error. You can sum them to end up with integer counts again.
Random Effect
A random effect in a mixed model is like considering the effect in the sample to come from some larger, normally distributed population. For example, patients in a study measured more than once are part of some larger group of patients, each with their own random deviation from the 'average' patient. There is a very good answer here that explains what it means to estimate a random effect rather than a fixed effect.
In your case, the tanks are like the patients in the previous example. A random intercept for tank estimates the variance of tanks, so that you can take into account that one tank could for example have slightly different starting conditions (more snail eggs, slightly different temperature, slightly different tank composition, etc.).
If the tanks are similar or identical in shape, size and overall content, then I think you have already accounted for the dependency in the data by estimating a random intercept with: (1 | Tank)
.
If on the other hand you expect different tanks to have different effects on e.g. the speed of maturation, the number of snail deaths over time or the effect of dosage (I'm not saying this is likely), you should estimate a random slope for Day
or Dose
, with: (0 + Day | Tank)
or (0 + Dose | Tank)
.
It is also possible to estimate both (replace the zero with a one in the previous examples), although this is probably a waste of degrees of freedom in your case.
Consider for example measuring three trees' circumference as they grow older and wider. The trees might have different starting conditions, meaning they had already grown wider than the others at the age of their first measurement (random intercept). It is also possible that the trees have slightly different amounts of direct sunlight, irrigation or nutrient availability, causing them to grow at a different rate (random slope). I have tried to illustrate this below, with age on the x-axis and circumference on the y-axis:
In summary, I think the model as you have edited it in your question now should work fine, so long as the destructive sampling you mention does not affect the total number of snails too drastically. However, you should inspect the residual deviance and its degrees of freedom to assess whether the Poisson distribution is appropriate for these data. There is already a question here about the diagnostics in particular that you could check out.
glmer(y ~ x + (1|Tank)
in the packagelme4
to model a random effect for tank. That being said, how and why did you rescale the counts? Do you know the total number of snails at each time point? I don't fully understand your response variable, but my first thought would be to model the counts with a Poisson or negative binomial GLMM. $\endgroup$