1
$\begingroup$

I need to test for differences in germination success between treatment groups, however, instead of all seeds being independently sown, I have 20 growth tubes with 3 seeds in each per treatment group (i.e, not one in each growth tube, or all in one plate per se). EACH SEED per treatment (60) was scored for germination success.

As such, how does one go about treating/analysing the data. Is it suitable to put the growth tube as a random effect?

Additionally, the question is complicated by the fact that my 3 treatments (water regime) are replicated in 2 soil types, and 4 species.

TLDR: 4 species in 2 soils with 3 treatments; 20 growth tubes per treatment; 3 seeds per growth tube; how to test for differences in germination success?

$\endgroup$
4
  • $\begingroup$ So a total of 4x2x3x20=480 growth tubes ? $\endgroup$
    – Rodolphe
    Commented Jul 10, 2021 at 19:25
  • $\begingroup$ @Rodolphe, Yes, that's correct. I am aware that having 3 seeds in each growth tube and wanting to score the germination of all seeds is considered pseudo replication -- but for the sake of the later-collected growth data, I wanted to ensure as many successful plants as possible. Once seeds, other than the first per growth tube, germinated, I removed them. $\endgroup$
    – Green
    Commented Jul 11, 2021 at 3:48
  • $\begingroup$ How do you score germination success ? $\endgroup$
    – Rodolphe
    Commented Jul 12, 2021 at 7:19
  • $\begingroup$ @Rodolphe, I'm using 'germination' here for simplicity; really I'm scoring emergence (how many of ALL the seeds per grouping permutation produce seedlings that penetrate from the soil). $\endgroup$
    – Green
    Commented Jul 13, 2021 at 3:30

1 Answer 1

1
$\begingroup$

If germination/emergence is a yes/no determination at some fixed time (without caring about time to emergence), then this could be a mixed-effect binomial (e.g., logistic) regression treating growth_tube as a random effect, as you suggest. The question, with only 3 seeds per tube, is whether the results will differ much from what you would get by ignoring growth_tube.

A mixed-effects model in R, with one data row per seed and germinationSuccess a 1/0 binary outcome, could be:

glmer(germinationSuccess ~ species*soil*treatment + (1|growth_tube), family = binomial)

Or you could take advantage of the "two-column matrix" outcome format for a binomial regression. Then you would have one data row for each growth_tube, containing columns for the corresponding species, soil and treatment values, and 2 outcome columns for the numbers of successful and unsuccessful germinations in that tube. The corresponding model would then be:

glmer(c(success_number,failure_number) ~ species*soil*treatment + (1|growth_tube), family = binomial)

The random intercept either of these models generates for each growth_tube represents a log-odds difference from the overall estimated log-odds at the reference levels of species, soil, and treatment. There are important issues to consider when doing inference on mixed models. Make sure you study those issues starting, for example, with the UCLA analysis examples and links from there. Those issues are also discussed in many Cross-Validated threads.

There's a chance that these mixed-effect models will end up with a random-effect variance indistinguishable from 0. In that case, proceed with standard glm() models without growth_tube as a random effect. Either way you proceed, check the validity of the binomial model.

If you want to evaluate time to germination, then you need to use some form of survival analysis. The specific form depends on details of your experimental design and your understanding of the subject matter.

If there's only a small number of time points at which germination was checked, this would be "discrete-time" survival analysis, a set of logistic regressions for each time period. In the two-column outcome setup above, you would have one row per growth_tube and time_period, include time_period as a predictor variable, and define the success_number and failure_number as the numbers during that time_period based on the numbers that hadn't yet germinated at the start of that time_period. Use your knowledge of the subject matter to decide which interactions of time_period with the other predictors should be included in the model. That analysis is compatible with a mixed-effect model; the glmer manual page in R shows an example with the cbpp sample data set.

With a larger number of time periods so that time is more continuous, a Cox proportional hazards (PH) survival model is often a good way to start. It assumes that the relative hazard of germination between any two combinations of covariate values is constant over time, even if the baseline hazard changes over time. Random effects can be specified in a standard coxph() survival model with a "frailty" term; you can alternatively take correlations within each growth_tube into account with a "cluster" term. There's also a coxme package specifically designed for mixed modeling in Cox PH survival analysis.

$\endgroup$
5
  • $\begingroup$ Thank you so much @EdM. This is really useful; I'm quite a stats novice (obviously) and just really need a jumping off point. I will test and seek further advice re your suggestions. Would you also be able to suggest a way to analyses Time Till Germination (days) of each seed per treatment permutation in the same experimental design? I may open a new question if suitable. $\endgroup$
    – Green
    Commented Jul 19, 2021 at 0:47
  • 1
    $\begingroup$ @Green I added to the answer to address time-to-event analysis, as my guess is that your situation would be most compatible with discrete-time analysis, just an extension of the binary regression I had already discussed. I reworked the rest of the answer a bit to clarify that both the 0/1 single outcome and the two column (success, failure) outcome formats can work with or without random effects. I have a hunch that with only 3 seeds per tube you won't end up with much ability to distinguish random effects usefully, but you don't know until you try. $\endgroup$
    – EdM
    Commented Jul 19, 2021 at 16:09
  • $\begingroup$ the code provided glmer(c(success_number,failure_number) ~ species*soil*treatment + (1|growth_tube), family = binomial) does not work and spits back an error message "Error in model.frame.default(data = data_emerged_success, drop.unused.levels = TRUE, : variable lengths differ (found for 'SPECIES')". I have check the data being plugged in, and there are no differences in lengths for ANY variables and there and no blank or NA values in the explanatory or dependent variables $\endgroup$
    – Green
    Commented Aug 9, 2021 at 3:47
  • $\begingroup$ @Green hard to say just what's going on without knowing more about the data. With the 3-way interaction there might just not be enough data to fit successfully. Also, be careful how you labeled the growth_tube random effects; the way your experiment was set up you don't want the same label to represent more than one species*soil*treatment combination. See what happens when you remove the random effect. $\endgroup$
    – EdM
    Commented Aug 9, 2021 at 13:16
  • $\begingroup$ Just for future readers, I solved the error in the code by using "cbind" instead of "c" $\endgroup$
    – Green
    Commented Jan 8, 2022 at 23:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.