Package 'drcSeedGerm'

Title: Utilities for Data Analyses in Seed Germination/Emergence Assays
Description: Utility functions to be used to analyse datasets obtained from seed germination/emergence assays. Fits several types of seed germination/emergence models, including those reported in Onofri et al. (2018) "Hydrothermal-time-to-event models for seed germination", European Journal of Agronomy, 101, 129-139 <doi:10.1016/j.eja.2018.08.011>. Contains several datasets for practicing.
Authors: Andrea Onofri <[email protected]>
Maintainer: Andrea Onofri <[email protected]>
License: GPL (>= 2)
Version: 1.1.1
Built: 2025-02-09 06:31:11 UTC
Source: https://github.com/onofriandreapg/drcseedgerm

Help Index


Field-book for a germination assay with alfalfa

Description

The germination of alfalfa was assayed at 7 temperature levels, on three replicated Petri dishes per temperature and 100 seeds per Petri dish. Inspections were made in several times after the beginning of the assay.

Usage

data("alfalfaSG")

Format

A data frame with 21 observations on the following variables.

Dish

a numeric vector with the coding for Petri dishes

Temp

a numeric vector with the temperature level

nViable

a numeric vector: number of viable seeds per dish

⁠1⁠

a numeric vector: count at day 1

⁠2⁠

a numeric vector: count at day 2

⁠3⁠

a numeric vector: count at day 3

⁠4⁠

a numeric vector: count at day 4

⁠5⁠

a numeric vector: count at day 5

⁠6⁠

a numeric vector: count at day 6

⁠7⁠

a numeric vector: count at day 7

⁠8⁠

a numeric vector: count at day 8

⁠9⁠

a numeric vector: count at day 9

⁠10⁠

a numeric vector: count at day 10

⁠11⁠

a numeric vector: count at day 11

⁠12⁠

a numeric vector: count at day 12

⁠13⁠

a numeric vector: count at day 13

⁠14⁠

a numeric vector: count at day 14

⁠15⁠

a numeric vector: count at day 15

⁠16⁠

a numeric vector: count at day 16

⁠17⁠

a numeric vector: count at day 17

⁠18⁠

a numeric vector: count at day 18

⁠19⁠

a numeric vector: count at day 19

⁠20⁠

a numeric vector: count at day 20

⁠21⁠

a numeric vector: count at day 21

⁠22⁠

a numeric vector: count at day 22

⁠23⁠

a numeric vector: count at day 23

⁠24⁠

a numeric vector: count at day 24

⁠27⁠

a numeric vector: count at day 27

⁠28⁠

a numeric vector: count at day 28

⁠29⁠

a numeric vector: count at day 29

⁠31⁠

a numeric vector: count at day 31

⁠34⁠

a numeric vector: count at day 34

Details

Every line of data represents a Petri dish. There were 100 seeds per Petri dish. The columns represent the characteristics of each Petri dish. The columns from 4 to 32 represent the number of germinated seeds counted at each assessment time.

Author(s)

Andrea Onofri

Source

no reference yet

References

Onofri, A., Benincasa, P., Mesgaran, M.B., Ritz, C., 2018. Hydrothermal-time-to-event models for seed germination. European Journal of Agronomy 101, 129–139.

Examples

data(alfalfaSG)
head(alfalfaSG)

A series of germination assays with barley

Description

The germination of barley was assayed at 9 temperature levels, on three replicated Petri dishes at each temperature and 50 seeds per Petri dish. Inspections were made in several times after the beginning of the assay.

Usage

data("barley")

Format

A data frame with 810 observations on the following 7 variables.

Dish

a numeric vector with the coding for Petri dishes

Temp

a numeric vector with the temperature level

timeBef

a numeric vector, with the start time for each inspection interval

timeAf

a numeric vector, with the end time for each inspection interval

nSeeds

a numeric vector, with the number of germinated seeds at each inspection interval

nCum

a numeric vector, with the cumulative number of germinated seeds at each assessment time

propCum

a numeric vector, the cumulative proportion of germinated seeds at each assessment time

Details

The variable 'timeAf' contains the value 'Inf' (Infinity), that corresponds to the seeds which did not germinate during the assay, for which we the germination time might be comprised from the last assessment time to infinity.

Author(s)

Andrea Onofri

Source

no reference yet

References

Onofri, A., Benincasa, P., Mesgaran, M.B., Ritz, C., 2018. Hydrothermal-time-to-event models for seed germination. European Journal of Agronomy 101, 129–139.

Examples

data(barley)

Relationship between germination rate and water potential in oilseed rape (var. Excalibur)

Description

This files describes the relationship between germination rate and water potential in the substrate for seeds of oilseed rape (var. Excalibur). Three germination percentiles are considered for germination rate, i.e. GR10, GR30 and GR50.

Usage

data("excalibur")

Format

A data frame with 27 observations on the following 5 variables.

Perc

a numeric vector: the germination percentile

Psi

a numeric vector: water potential in the substrate (in MPa)

Tg

a numeric vector: germination time in days

SE

a numeric vector: standard errors for germination times (in days)

GR

a numeric vector: germination rates in 1/d

Source

Pace, R., Benincasa, P., Ghanem, M.E., Quinet, M., Lutts, S., 2012. GERMINATION OF UNTREATED AND PRIMED SEEDS IN RAPESEED (BRASSICA NAPUS VAR OLEIFERA DEL.) UNDER SALINITY AND LOW MATRIC POTENTIAL. Experimental Agriculture 48, 238–251.

References

Pace, R., Benincasa, P., Ghanem, M.E., Quinet, M., Lutts, S., 2012. Germination of untreated and primed seeds in rapeseed (Brassica napus var. oleifera Del.) under salinity and low matric potential. Experimental Agriculture 48, 238–251.

Examples

data(excalibur)
head(excalibur)
library(drc)

modGR1 <- drm(GR ~ Psi, fct=GRPsiLin(), data=excalibur, curveid=Perc)
summary(modGR1)
plot(modGR1, log="", legendPos=c(-0.9, 1))

modGR2 <- drm(GR ~ Psi, fct=GRPsiPol2(), data=excalibur, curveid=Perc)
summary(modGR2)
plot(modGR2, log="", legendPos=c(-0.9, 1))

Relationship between germination rate and water potential in Festuca arundinacea L.

Description

This files describes the relationship between germination rate and Festuca arundinacea. Three germination percentiles are considered for germination rate, i.e. GR10, GR30 and GR50.

Usage

data("festuca")

Format

A data frame with 36 observations on the following 3 variables.

g

a numeric vector: the germination percentile

Psi

a numeric vector: water potential in the substrate (in MPa)

GR

a numeric vector: germination rates in 1/d

Source

TEI F, BENINCASA P and CIRICIOFOLO E (2001) Effetto del potenziale idrico e della temperatura sulla germinazione di alcune specie graminacee da tappeto erboso. In: Atti XXXIV Convegno della Società Italiana di Agronomia, Pisa, Italy, 200–201.

References

TEI F, BENINCASA P and CIRICIOFOLO E (2001) Effetto del potenziale idrico e della temperatura sulla germinazione di alcune specie graminacee da tappeto erboso. In: Atti XXXIV Convegno della Società Italiana di Agronomia, Pisa, Italy, 200–201.

Examples

data(festuca)
modGR1 <- drm(GR ~ Psi, fct=GRPsiLin(),
            data=festuca, curveid=g)
summary(modGR1)

Hydro-time models based on the germination rate

Description

These models describe the response of germination rate to water potential in the substrate.

Usage

GRPsiLin()
GRPsiPol()
GRPsiPol2()
GRPsi.Lin()
GRPsi.Pol()
GRPsi.Pol2()
GRPsiLin.fun(Psi, Psib, thetaH)
GRPsiPol.fun(Psi, Psib, thetaH)
GRPsiPol2.fun(Psi, Psib, thetaH)

Arguments

The functions 'GRPsiLin()', 'GRPsiPol()', 'GRPsiPol2()', GRPsi.Lin(), GRPsi.Pol(), GRPsi.Pol2() have no arguments. The functions 'GRPsiLin.fun()', 'GRPsiPol.fun()' and 'GRPsiPol2.fun()' have the following arguments:

Psi

Water potential in the substrate

Psib

Base water potential within the population

thetaH

Hydro-time parameter

Details

The functions 'GRPsiLin()', 'GRPsiPol()', 'GRPsiPol2()', GRPsi.Lin(), GRPsi.Pol(), GRPsi.Pol2() are meant to be used with the 'drm()' function in the 'drc' package ('GRPsiLin()' and 'GRPsi.Lin()', 'GRPsiPol()' and 'GRPsi.Pol()', 'GRPsiPol2()' and 'GRPsiPol2()' are totally equivalent, apart from the names). The functions 'GRPsiLin.fun()', 'GRPsiPol.fun()' and 'GRPsiPol2.fun()' are used for general purposes (plotting and other uses). Details about these functions and the meaning of parameters are described in Bradford (2002) and in the package ducumentation (see references below).

Value

The 'GRPsiLin.fun()', 'GRPsiPol.fun()' and 'GRPsiPol2.fun()' functions return the germination rate for any given values of water potential in the substrate. The 'GRPsiLin()', 'GRPsiPol()' and 'GRPsiPol2()' (and 'GRPsi.Lin()', 'GRPsi.Pol()' and 'GRPsi.Pol2()') functions return a list containing the nonlinear function, the self starter function, the parameter names and other items which are internally used by the 'drc()' function.

Author(s)

Andrea Onofri

References

See package documentation at: https://www.statforbiology.com/_seedtutorial/

Examples

library(drcte)
# Observed data
Psi <- c(-2, -1.5, -1.2, -1, -0.8, -0.6, -0.4, -0.25,
         -0.12, -0.06, -0.03, 0)
GR <- c(0, 0, 0, 0, 0.0585, 0.094, 0.1231, 0.1351,
        0.1418, 0.1453, 0.1458, 0.1459)
Psi2 <- c(-0.5, -0.6, -0.7, -0.8, -0.9, -1, -1.1, -1.2,
          -1.5)
GR2 <- c(1.4018, 1.0071, 0.5614, 0.3546, 0.2293, 0, 0,
         0, 0)

# Model fitting
modHT1 <- drm(GR ~ Psi, fct = GRPsiLin())
modHT2 <- drm(GR ~ Psi, fct = GRPsiPol())
modHT3 <- drm(GR2 ~ Psi2, fct = GRPsiPol2())

summary(modHT1)
summary(modHT2)
summary(modHT2)

Thermal-time models based on the germination rate

Description

These models are used to describe the germination rate of a seed, depending on the environmental temperature.

Usage

GRT.GH()
GRT.GH2()
GRT.YL()
GRT.BS()
GRT.BSb()
GRT.Ex()
GRT.Exb()
GRT.M()
GRT.Mb()
GRT.RF()
GRT.RFb()
GRT.GH.fun(Temp, Tb, ThetaT)
GRT.GH2.fun(Temp, Tb, beta)
GRT.YL.fun
GRT.BS.fun(Temp, k, Tb, To, ThetaT)
GRT.BSb.fun(Temp, Tc, Tb, To, ThetaT)
GRT.Ex.fun(Temp, k, Tb, Tc, ThetaT)
GRT.Exb.fun(Temp, k, Tb, Tc, ThetaT)
GRT.M.fun(Temp, k, Tb, ThetaT)
GRT.Mb.fun(Temp, Tb, Tc, ThetaT)
GRT.RF.fun(Temp, k, Tb, Td, ThetaT)
GRT.RFb.fun(Temp, Tc, Tb, Td, ThetaT)

Arguments

The 'GR.funName()' functions have no arguments. The general purpose 'GR.funName.fun()' functions have some of the following arguments (depending on function):

Temp

Temperature variable

k

regression parameter

beta

regression parameter

Tc

ceiling temperature

Tb

base temperature

To

optimal temperature

Td

close-to-optimal temperature (Rowse-Fintch-Savage equation)

ThetaT

Hydro-time parameter

Details

All these functions are named according to this rule: 'GRT' (Germination Rate Temperature), followd by the 'function name' (e.g., BS, RF, M, Ex, YL). The R functions 'GR.funName().fun' are generic R function, that are meant to be used for general purposes, such as plotting or predicting. The corresponding 'GR.funName()' (without the '.fun' ending) are meant to be used for fitting with the 'drm()' function, within the 'drc' package.

Value

The 'GRT.funName.fun()' functions return a vector of responses, for given values of temperature and parameters. The 'GRT.funName()' functions return a list containing the nonlinear function, the self starter function, the parameter names and other items which are internally used by the 'drm()' function.

Author(s)

Andrea Onofri

References

https://www.statforbiology.com/2023/stat_drcte_12-htt2step/

Examples

library(drcte)
Tval <- c(2, 5, 10, 15, 20, 25, 30, 35, 40)
GR <- c(0, 0, 0.209, 0.435, 0.759, 0.821, 0.417, 0.145, 0)
modM <- drm(GR ~ Tval, fct = GRT.M())
plot(modM, log="", xlim = c(0, 40), ylim=c(0,1.2),
     legendPos = c(5, 1.0), xlab = "Temperature (°C)")

Hydro-Thermal-time models based on the germination rate

Description

These models are used to describe the germination rate of a seed, depending on the environmental temperature and water potential.

Usage

GRTPsi.M()
GRTPsi.M.fun(Temp, Psi, k, Tb, ThetaHT, Psib)
GRTPsi.BS()
GRTPsi.BS.fun(Temp, Psi, k, Tb, To, ThetaHT, Psib)

Arguments

Temp

Temperature variable

Psi

Water potential variable

Psib

Base water potential variable

k

regression parameter

Tb

base temperature

To

optimal temperature

ThetaHT

Hydro-thermal-time parameter

Details

The 'GRT.M.fun()' is a generic R function, while the GRT.M() function is meant to be used with the 'drm()' function, within the 'drc' package.

Value

The 'GRT.M.fun()' functions returns a vector of responses, for given values of temperature, Tc, Tb and ThetaH. The GRT.M() function returns a list containing the nonlinear function, the self starter function, the parameter names and other items which are internally used by the 'drm()' function.

Author(s)

Andrea Onofri

References

https://www.statforbiology.com/2023/stat_drcte_12-htt2step/

Examples

library(drcte)
Tval <- c(2, 5, 10, 15, 20, 25, 30, 35, 40)
GR <- c(0, 0, 0.209, 0.435, 0.759, 0.821, 0.417, 0.145, 0)
modM <- drm(GR ~ Tval, fct = GRT.M())
plot(modM, log="", xlim = c(0, 40), ylim=c(0,1.2),
     legendPos = c(5, 1.0), xlab = "Temperature (°C)")

Halotime model with logistic distribution of base salt concentration (derived from Bakhshandeh et al., 2020)

Description

This model relates the time-course of the proportion of germinated seeds to salt concentration (C) in the substrate. It is based on a logistic distribution of base salt concentration within the seed lot. The equation is:

P(t)=1Φ{C+(θhalo/t)CbσCb}P(t) = 1 - \Phi \left\{ \frac{C + (\theta_{halo} / t) - C_b }{\sigma_{C_b}} \right\}

where Φ\Phi is a logistic cumulative distribution function. This models describes the distribution of base salt concentration within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, logistic (you see that 't' is at the denominator). The 'HaloTL.fun()' is a generic function, which can be used for plotting or other applications, while the 'HaloTL()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HaloTL()
HaloTL.fun(time, SConc, ThetaHalo, SConcb50, sigma)

Arguments

The 'HaloTL()' function has no arguments. The 'HaloTL.fun()' function has the following arguments:

time

time

SConc

salt concentration in the substrate

ThetaHalo

halotime constant

SConcb50

median base salt concentration

sigma

shape parameter for the base salt concentration within the seed lot

Details

This model is derived from the halo-thermal time model described in Bakhshandeh et al. (2020).

Value

The 'HaloTL.fun()' function returns the proportion of germinated seeds, for any given values of time and salt concentration in the substrate. The 'HaloTL()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the R function 'drmte()'

Author(s)

Andrea Onofri

References

Bakhshandeh, E., Bradford, K.J., Pirdashti, H., Vahabinia, F., Abdellaoui, R., 2020. A new halothermal time model describes seed germination responses to salinity across both sub- and supra-optimal temperatures. Acta Physiologia Plantarum 42, 137.

Examples

# Read data
datasetOr <- read.csv("https://www.casaonofri.it/_datasets/Halotime4genotypes.csv",
                      check.names = FALSE)
datasetOr[,4:9] <- lapply(datasetOr[,4:9], as.numeric)
dataset <- melt_te(datasetOr, count_cols = 4:9, treat_cols = 1:3,
            monitimes = c(3,4,5,7,10,14), n.subjects = 50)
dataset <- dataset[dataset$CV == "Saturnin",]

# Model fitting
modg <- drmte(count ~ timeBef + timeAf + SConc, fct=HaloTL(),
              data=dataset)
summary(modg)

Halotime model with log-logistic distribution of base salt concentration (derived from Bakhshandeh et al., 2020)

Description

This model relates the time-course of the proportion of germinated seeds to salt concentration (C) in the substrate. It is based on a log-logistic distribution of base salt concentration within the seed lot. The equation is:

P(t)=111+exp{1σlog[(C+θhalo/t)Cb]}P(t) = 1 - \frac{1} {1 + \exp \left\{ - \frac{1}{\sigma} \log \left[ \frac{\left(C + \theta_{halo} / t \right)}{C_b} \right] \right\} }

This models describes the distribution of base salt concentration within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, logistic (you see that 't' is at the denominator). The 'HaloTLL.fun()' is a generic function, which can be used for plotting or other applications, while the 'HaloTLL()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HaloTLL()
HaloTLL.fun(time, SConc, thetaHalo, SConcb50, sigma)

Arguments

The 'HaloTLL()' function has no arguments. The 'HaloTLL.fun()' function has the following arguments:

time

time

SConc

salt concentration in the substrate

thetaHalo

halotime constant

SConcb50

median base salt concentration

sigma

shape parameter for the base salt concentration within the seed lot

Details

This model is derived from the halo-thermal time model described in Bakhshandeh et al. (2020).

Value

The 'HaloTLL.fun()' function returns the proportion of germinated seeds, for any given values of time and salt concentration in the substrate. The 'HaloTLL()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the R function 'drmte()'

Author(s)

Andrea Onofri

References

Bakhshandeh, E., Bradford, K.J., Pirdashti, H., Vahabinia, F., Abdellaoui, R., 2020. A new halothermal time model describes seed germination responses to salinity across both sub- and supra-optimal temperatures. Acta Physiologia Plantarum 42, 137.

Examples

# Read data
datasetOr <- read.csv("https://www.casaonofri.it/_datasets/Halotime4genotypes.csv",
                      check.names = FALSE)
datasetOr[,4:9] <- lapply(datasetOr[,4:9], as.numeric)
dataset <- melt_te(datasetOr, count_cols = 4:9, treat_cols = 1:3,
            monitimes = c(3,4,5,7,10,14), n.subjects = 50)
dataset <- dataset[dataset$CV == "Saturnin",]

# Model fitting
modg <- drmte(count ~ timeBef + timeAf + SConc, fct=HaloTLL(),
              data=dataset)
summary(modg)

Halotime model with normal distribution of base salt concentration (derived from Bakhshandeh et al., 2020)

Description

This model relates the time-course of the proportion of germinated seeds to salt concentration (C) in the substrate. It is based on a normal distribution of base salt concentration within the seed lot. The equation is:

P(t)=1Φ{C+(θhalo/t)CbσCb}P(t) = 1 - \Phi \left\{ \frac{C + (\theta_{halo} / t) - C_b }{\sigma_{C_b}} \right\}

where Φ\Phi is a gaussian cumulative distribution. This models describes the distribution of base salt concentration within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, gaussian (you see that 't' is at the denominator). The 'HaloTNorm.fun()' is a generic function, which can be used for plotting or other applications, while the 'HaloTNorm()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HaloTnorm()
HaloTnorm.fun(time, SConc, ThetaHalo, SConcb50, sigmaSConcb)

Arguments

The 'HaloTNorm()' function has no arguments. The 'HaloTNorm.fun()' function has the following arguments:

time

time

SConc

salt concentration in the substrate

ThetaHalo

halotime constant

SConcb50

median base salt concentration

sigmaSConcb

standard deviation for the base salt concentration within the seed lot

Details

This model is derived from the halo-thermal time model described in Bakhshandeh et al. (2020).

Value

The 'HaloTNorm.fun()' function returns the proportion of germinated seeds, for any given values of time and salt concentration in the substrate. The 'HaloTNorm()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the R function 'drmte()'

Author(s)

Andrea Onofri

References

Bakhshandeh, E., Bradford, K.J., Pirdashti, H., Vahabinia, F., Abdellaoui, R., 2020. A new halothermal time model describes seed germination responses to salinity across both sub- and supra-optimal temperatures. Acta Physiologia Plantarum 42, 137.

Examples

# Read data
datasetOr <- read.csv("https://www.casaonofri.it/_datasets/Halotime4genotypes.csv",
                      check.names = FALSE)
datasetOr[,4:9] <- lapply(datasetOr[,4:9], as.numeric)
dataset <- melt_te(datasetOr, count_cols = 4:9, treat_cols = 1:3,
            monitimes = c(3,4,5,7,10,14), n.subjects = 50)
dataset <- dataset[dataset$CV == "Saturnin",]

# Model fitting
modg <- drmte(count ~ timeBef + timeAf + SConc, fct=HaloTnorm(),
              data=dataset)
summary(modg)

Germination of Hordeum spontaneum at different temperatures and water potentials

Description

This dataset was obtained from a germination assay with four replicated Petri dishes with 20 seeds, tested at six different water potential levels (0, -0.3, -0.6, -0.9, -1.2 and -1.5 MPa). Osmotic potentials were produced using variable amount of polyethylene glycol (PEG, molecular weight 8000) adjusted for the temperature level. Petri dishes were incubated at six constant temperature levels (8, 12, 16, 20, 24 and 28 °C), under a photoperiod of 12 h. Germinated seeds (radicle protrusion > 3 mm) were counted and removed daily for 20 days.

Usage

data("hordeum")

Format

A data frame with 3024 observations on the following 8 variables.

temp

a numeric vector: temperature level

water

a numeric vector: water potential level

Dish

a numeric vector: code for Petri dishes

timeBef

a numeric vector: beginning of scoring interval

timeAf

a numeric vector: end of scoring interval

nViable

a numeric vector: number of viable seeds at the beginning of assay, in each dish

nSeeds

a numeric vector: number of germinated seeds, between timeBef and timeAf

nCum

a numeric vector: cumulative number of germinated seeds at timeAf

Details

This dataset was analysed in the time-to-event framework in Onofri et al (2018). See Example 2.

Source

Mesgaran, MB, A Onofri, HR Mashhadi, RD Cousens (2017) Water availability shifts the optimal temperatures for seed germination: A modelling approach. Ecological Modelling 351:87–95

References

Mesgaran, MB, A Onofri, HR Mashhadi, RD Cousens (2017) Water availability shifts the optimal temperatures for seed germination: A modelling approach. Ecological Modelling 351:87–95

Onofri, A, P Benincasa, MB Mesgaran, C Ritz (2018) Hydrothermal-time-to-event models for seed germination. European Journal of Agronomy 101:129–139

Examples

# Fitting a hydrotime model
data(rape)
gmod <- drmte(nSeeds ~ timeBef + timeAf + Psi,
              fct=HTnorm(), data=rape)
summary(gmod)

jackGroupSE(gmod, rape, rape$Dish)

Hydrotime model with log-logistic distribution of germination time (Onofri et al., 2018)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a truncated log-logistic distribution of germination time:

P(t)=d1+exp[b(log(x)log(e)]P(t) = \frac{d}{1 + exp\left[ b (\log(x) - \log(e)\right]}

where two of the three usual parameters ('d' and 'e') are expressed as functions of water potential (Ψ\Psi). In this function, the two submodels are: (1) for the parameter 'd', we used a shifted exponential function:

d=G[1exp(ΨΨbσΨb)]d = G \left[ 1 - \exp \left( \frac{ \Psi - \Psi_b }{\sigma_{\Psi_b}} \right) \right]

while, (2) for the parameter 'e' we considered that its inverse corresponds to the median Germination Rate within the population (i.e. 1/e=GR501/e = GR_{50}) and modelled this latter parameter as:

GR50=ΨΨbθHGR_{50} = \frac{\Psi - \Psi_{b}}{\theta_H}

The 'HTE1.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTE1()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTE1(fixed = c(NA, NA, NA, NA, NA),
                  names = c("G", "Psib", "sigmaPsib", "thetaH", "b"))
HTE1.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)

Arguments

These functions have the following arguments:

fixed

numeric vector. Specifies which parameters are fixed and at what value they are fixed. NAs for parameter that are not fixed. At the moment, only the parameter G can be held fixed.

names

a vector of character strings giving the names of the parameters. The default is reasonable.

time

time

Psi

water potential in the substrate

G

maximum germination capability of the seed lot

Psib

base water potential

sigmaPsib

standard deviation for the base water potential within the seed lot

thetaH

hydro-time constant

b

shape parameter for the cumulative distribution function of germination time

Details

The detail of this time-to-event model and the meaning of parameters are described in Onofri et al. (2018). See Table 2, where 'HTE1()' is abbreviated as HTE.

Value

The 'HTE1.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTE1()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Author(s)

Andrea Onofri

References

Onofri, A., Benincasa, P., Mesgaran, M.B., Ritz, C., 2018. Hydrothermal-time-to-event models for seed germination. European Journal of Agronomy 101, 129–139. https://www.statforbiology.com/2020/stat_seedgermination_ht1step/

Examples

data(rape)
modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi,
            data=rape, fct=HTE1())
summary(modHTE)

Hydrotime model with log-logistic distribution of germination time (Onofri et al., 2018)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a truncated log-logistic distribution of germination time:

P(t)=d1+exp[b(log(x)log(e)]P(t) = \frac{d}{1 + exp\left[ b (\log(x) - \log(e)\right]}

where two of the three usual parameters ('d' and 'e') are expressed as functions of water potential (Ψ\Psi). In this function, the two submodels are: (1) for the parameter 'd', we used a shifted exponential function:

d=G[1exp(ΨΨbσΨb)]d = G \left[ 1 - \exp \left( \frac{ \Psi - \Psi_b }{\sigma_{\Psi_b}} \right) \right]

while, (2) for the parameter 'e' we considered that its inverse corresponds to the median Germination Rate within the population (i.e. 1/e=GR501/e = GR_{50}) and modelled this latter parameter as:

GR50=[ΨΨb]2θHGR_{50} = \frac{\left[\Psi - \Psi_b \right]^2}{\theta_H}

The difference with the 'HTE1()' function is that, in this case, the relationship between GR50 and water potential is not linear, but curvilinear (convex down). The 'HTE2.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTE2()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTE2(fixed = c(NA, NA, NA, NA, NA),
                  names = c("G", "Psib", "sigmaPsib", "thetaH", "b"))
HTE2.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)

Arguments

These functions have the following arguments:

fixed

numeric vector. Specifies which parameters are fixed and at what value they are fixed. NAs for parameter that are not fixed. At the moment, only the parameter G can be held fixed.

names

a vector of character strings giving the names of the parameters. The default is reasonable.

time

time

Psi

water potential in the substrate

G

maximum germination capability of the seed lot

Psib

base water potential

sigmaPsib

standard deviation for the base water potential within the seed lot

thetaH

hydro-time constant

b

shape parameter for the cumulative distribution function of germination time

Details

No more detail, at the moment.

Value

The 'HTE2.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate, depending on model parameters G, Psib, sigmaPsib, thetaH and b. The 'HTE2()' function returns a list containing the nonlinear function, the self starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Author(s)

Andrea Onofri

References

Onofri, A., Benincasa, P., Mesgaran, M.B., Ritz, C., 2018. Hydrothermal-time-to-event models for seed germination. European Journal of Agronomy 101, 129–139. https://www.statforbiology.com/2020/stat_seedgermination_ht1step/

Examples

# Fitting model
data(rape)
modHTE2 <- drmte( nSeeds ~ timeBef + timeAf + Psi,
            data=rape, fct=HTE2())
summary(modHTE2)

Hydrotime model with log-logistic distribution of germination time (Onofri et al., 2018)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a truncated log-logistic distribution of germination time:

P(t)=d1+exp[b(log(x)log(e)]P(t) = \frac{d}{1 + exp\left[ b (\log(x) - \log(e)\right]}

where two of the three usual parameters ('d' and 'e') are expressed as functions of water potential (Ψ\Psi). In this function, the two submodels are: (1) for the parameter 'd', we used a shifted exponential function:

d=G[1exp(ΨΨbσΨb)]d = G \left[ 1 - \exp \left( \frac{ \Psi - \Psi_b }{\sigma_{\Psi_b}} \right) \right]

while, (2) for the parameter 'e' we considered that its inverse corresponds to the median Germination Rate within the population (i.e. 1/e=GR501/e = GR_{50}) and modelled this latter parameter as:

GR50=Ψ2Ψb2θHGR_{50} = \frac{\Psi^2 - \Psi^2_b}{\theta_H}

The difference with the 'HTE1()' function is that, in this case, the relationship between GR50 and water potential is not linear, but curvilinear (convex up). The 'HTE3.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTE3()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTE3(fixed = c(NA, NA, NA, NA, NA),
                  names = c("G", "Psib", "sigmaPsib", "thetaH", "b"))
HTE3.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)

Arguments

These functions have the following arguments:

fixed

numeric vector. Specifies which parameters are fixed and at what value they are fixed. NAs for parameter that are not fixed. At the moment, only the parameter G can be held fixed.

names

a vector of character strings giving the names of the parameters. The default is reasonable.

time

time

Psi

water potential in the substrate

G

maximum germination capability of the seed lot

Psib

base water potential

sigmaPsib

standard deviation for the base water potential within the seed lot

thetaH

hydro-time constant

b

shape parameter for the cumulative distribution function of germination time

Details

No more detail, at the moment.

Value

The 'HTE3.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate, depending on model parameters G, Psib, sigmaPsib, thetaH and b. The 'HTE3()' function returns a list containing the nonlinear function, the self starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Author(s)

Andrea Onofri

References

Onofri, A., Benincasa, P., Mesgaran, M.B., Ritz, C., 2018. Hydrothermal-time-to-event models for seed germination. European Journal of Agronomy 101, 129–139. https://www.statforbiology.com/2020/stat_seedgermination_ht1step/

Examples

# Fitting model
data(rape)
modHTE3 <- drmte( nSeeds ~ timeBef + timeAf + Psi,
            data = rape, fct=HTE3())
summary(modHTE3)

Hydrotime model with Type II Extreme Value distribution of base water potential (Mesgaran et al., 2013)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on Type II Extreme Value distribution of base water potential within the seed lot. The equation is:

P(t)=1exp{exp[Ψ(θH/t)μσ]}P(t) = 1 - \exp \left\{ - \exp \left[ \frac{\Psi - (\theta _H / t ) - \mu }{\sigma } \right] \right\}

In contrast to other hydrotime models (e.g., 'HTE1()', 'HTE2()', 'HTE3()', describing the distribution of germination time), this models describes the distribution of base water potential within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, gaussian (you see that 't' is at the denominator). The 'HTex.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTex()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTex()
HTex.fun(time, Psi, thetaH, mu, sigma)

Arguments

The 'HTex()' function has no arguments. The 'HTex.fun()' function has the following arguments:

time

time

Psi

water potential in the substrate

thetaH

hydro-time constant

mu

location parameter for the Type II Extreme Value distribution

sigma

scale parameter for the Type II Extreme Value distribution

Details

The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).

Value

The 'HTex.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTex()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the function 'drmte()'

Author(s)

Andrea Onofri

References

Mesgaran, M.B., Mashhadi, H.R., Alizadeh, H., Hunt, J., Young, K.R., Cousens, R.D., 2013. Importance of distribution function selection for hydrothermal time models of seed germination. Weed Research 53, 89–101.

Examples

data(rape)
modg <- drm( propCum ~ timeAf + Psi, fct=HTex(), data=rape)
summary(modg)

Hydrotime model with Gumbel distribution of base water potential (Mesgaran et al., 2013)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a Gumbel distribution of base water potential within the seed lot. The equation is:

P(t)=exp{exp[(Ψ(θH/t)μσ)]}P(t) = \exp \left\{ { - \exp \left[ { - \left( {\frac{{\Psi - (\theta _H / t ) - \mu }}{\sigma }} \right)} \right]} \right\}

In contrast to other hydrotime models (e.g., 'HTE1()', 'HTE2()', 'HTE3()', describing the distribution of germination time), this models describes the distribution of base water potential within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, gaussian (you see that 't' is at the denominator). The 'HTG.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTG()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTG()
HTG.fun(time, Psi, ThetaH, mu, sigma)

Arguments

The 'HTG()' function has no arguments. The 'HTG.fun()' function has the following arguments:

time

time

Psi

water potential in the substrate

ThetaH

hydro-time constant

mu

location parameter for the Gumbel distribution

sigma

scale parameter for the Gumbel distribution

Details

The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).

Value

The 'HTG.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTG()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the function 'drmte()'

Author(s)

Andrea Onofri

References

Mesgaran, M.B., Mashhadi, H.R., Alizadeh, H., Hunt, J., Young, K.R., Cousens, R.D., 2013. Importance of distribution function selection for hydrothermal time models of seed germination. Weed Research 53, 89–101.

Examples

data(rape)
modg <- drm( propCum ~ timeAf + Psi, fct=HTG(), data=rape)
summary(modg)

Hydrotime model with logistic distribution of base water potential (Mesgaran et al., 2013)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a logistic distribution of base water potential within the seed lot. The equation is:

P(t)=11+exp[Ψ(θH/t)Ψbσ]P(t) = \frac{1}{1 + exp \left[ - \frac{ \Psi - \left( \theta _H/t \right) - \Psi_{b} } {\sigma} \right] }

In contrast to other hydrotime models (e.g., 'HTE1()', 'HTE2()', 'HTE3()', describing the distribution of germination time), this models describes the distribution of base water potential within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, gaussian (you see that 't' is at the denominator). The 'HTL.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTL()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTL()
HTL.fun(time, Psi, ThetaH, Psib50, sigma)

Arguments

The 'HTL()' function has no arguments. The 'HTL.fun()' function has the following arguments:

time

time

Psi

water potential in the substrate

ThetaH

hydro-time constant

Psib50

median base water potential

sigma

scale parameter for the logistic distribution

Details

The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).

Value

The 'HTL.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTL()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the function 'drmte()'

Author(s)

Andrea Onofri

References

Mesgaran, M.B., Mashhadi, H.R., Alizadeh, H., Hunt, J., Young, K.R., Cousens, R.D., 2013. Importance of distribution function selection for hydrothermal time models of seed germination. Weed Research 53, 89–101.

Examples

data(rape)
modg <- drm( propCum ~ timeAf + Psi, fct=HTL(), data=rape)
summary(modg)

Hydrotime model with log-logistic distribution of base water potential (Mesgaran et al., 2013)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a log-logistic distribution of base water potential within the seed lot. The equation is:

P(t)=11+exp{log[Ψ(θHt)+δ]log(Ψb+δ)σ}P(t) = \frac{1}{1 + \exp \left\{ \frac{ \log \left[ \Psi - \left( \frac{\theta _H}{t} \right) + \delta \right] - \log(\Psi_{b} + \delta) }{\sigma}\right\} }

In contrast to other hydrotime models (e.g., 'HTE1()', 'HTE2()', 'HTE3()', describing the distribution of germination time), this models describes the distribution of base water potential within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, gaussian (you see that 't' is at the denominator). The 'HTLL.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTLL()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTLL()
HTLL.fun(time, Psi, thetaH, delta, Psib50, sigma)

Arguments

The 'HTLL()' function has no arguments. The 'HTLL.fun()' function has the following arguments:

time

time

Psi

water potential in the substrate

thetaH

hydro-time constant

delta

shifting parameter to allow for negative water potential levels

Psib50

median base water potential

sigma

scale parameter for the log-logistic distribution

Details

The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).

Value

The 'HTLL.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTLL()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the function 'drmte()'

Author(s)

Andrea Onofri

References

Mesgaran, M.B., Mashhadi, H.R., Alizadeh, H., Hunt, J., Young, K.R., Cousens, R.D., 2013. Importance of distribution function selection for hydrothermal time models of seed germination. Weed Research 53, 89–101.

Examples

data(rape)
modg <- drm( propCum ~ timeAf + Psi, fct=HTLL(), data=rape)
summary(modg)

Hydrotime model with normal distribution of base water potential (Bradford, 2002)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a normal distribution of base water potential within the seed lot. The equation is:

P(t)=Φ{Ψ(θH/t)ΨbσΨb}P(t) = \Phi \left\{ \frac{\Psi - (\theta_H / t) -\Psi_b }{\sigma_{\Psi_b}} \right\}

where Φ\Phi is a gaussian cumulative distribution function for base water potential. In contrast to other hydrotime models (e.g., 'HTE1()', 'HTE2()', 'HTE3()', describing the distribution of germination time), this models describes the distribution of base water potential within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, gaussian (you see that 't' is at the denominator). The 'HTNorm.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTNorm()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTnorm()
HTnorm.fun(time, Psi, ThetaH, Psib50, sigmaPsib)

Arguments

The 'HTNorm()' function has no arguments. The 'HTNorm.fun()' function has the following arguments:

time

time

Psi

water potential in the substrate

ThetaH

hydro-time constant

Psib50

median base water potential

sigmaPsib

standard deviation for the base water potential within the seed lot

Details

The detail of this time-to-event model and the meaning of parameters are described in Bradford (2002).

Value

The 'HTNorm.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTNorm()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the R function 'drmte()'

Author(s)

Andrea Onofri

References

Bradford, K.J., 2002. Applications of hydrothermal time to quantifying and modeling seed germination and dormancy. Weed Science 50, 248–260.

Examples

data(rape)
# non linear regression (wrong)
modg <- drm( propCum ~ timeAf + Psi, fct=HTnorm(), data=rape)
# time-to-event regression (right)
modg <- drmte(nSeeds ~ timeBef + timeAf + Psi, fct=HTnorm(), data=rape)
summary(modg)

Hydro-thermal-time model with log-logistic distribution of germination time (Onofri et al., 2018)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential and temperature in the substrate. It is based on a truncated log-logistic distribution of germination time:

P(t)=d1+exp[b(log(x)log(e)]P(t) = \frac{d}{1 + exp\left[ b (\log(x) - \log(e)\right]}

where two of the three usual parameters ('d' and 'e') are expressed as functions of water potential (Ψ\Psi) and temperature (TT). In the function 'HTTEM()', we implemented the following submodels: (1) for the parameter 'd', we implemented a shifted exponential function:

d=G[1exp(ΨΨbk(TTb)σΨb)]d = G \, \left[ 1 - \exp \left( \frac{ \Psi - \Psi_b - k(T - T_b )}{\sigma_{\Psi_b}} \right) \right]

while, (2) for the parameter 'e' we considered that its inverse corresponds to the median Germination Rate within the population (i.e. 1/e=GR501/e = GR_{50}) and modelled this latter parameter as:

GR50=TTbθHT[ΨΨbk(TTb)]GR_{50} = \frac{T - T_b }{\theta_{HT}} \left[\Psi - \Psi_b - k(T - T_b )\right]

The 'HTTEM.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTTEM()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTTEM()
HTTEM.fun(time, Psi, Temp, G, Psib, kt, Tb, sigmaPsib, ThetaHT, b)

Arguments

The 'HTTEM' function has no arguments. The 'HTTEM.fun()' has the following arguments:

time

time

Psi

water potential in the substrate

Temp

temperature

G

maximum germination capability of the seed lot

Psib

base water potential

kt

parameter measuring the effect of temperature on base water potential

Tb

base temperature

sigmaPsib

standard deviation for the base water potential within the seed lot

ThetaHT

hydro-thermal-time parameter

b

shape parameter for the cumulative distribution function of germination time

Details

The detail of this time-to-event model and the meaning of parameters are described in Onofri et al. (2018). See Table 2, where 'HTTEM()' is abbreviated as HTTE.

Value

The 'HTTEM.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTTEM()' function returns a list containing the nonlinear function, the parameter names and other items which are internally used by the 'drmte()' function. At the moment, there is no self-starting function and starting parameters for fitting must be provided within the 'drcte' function.

Author(s)

Andrea Onofri

References

Onofri, A., Benincasa, P., Mesgaran, M.B., Ritz, C., 2018. Hydrothermal-time-to-event models for seed germination. European Journal of Agronomy 101, 129–139. https://www.statforbiology.com/2023/stat_drcte_10-examplehtte/

Examples

data(hordeum)

modHTTEM <- drmte(nSeeds ~ timeBef + timeAf + water + temp,
                  data=hordeum,
                  fct = HTTEM(),
   start=c(0.8,-2, 0.05, 3, 0.2, 2000, 0.5))
summary(modHTTEM)

Hydro-thermal-time model with log-logistic distribution of base water potential (Mesgaran et al., 2017)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential and temperature in the substrate and it is based on a log-logistic distribution of base water potential within the seed lot. Two similar functions are available within the 'drcSeedGerm' package: the first one is 'HTTLL.M()' that assumes that the base water potential decreases with temperature for any T>TbT > T_b. The equation is:

P(t,T,Ψ)=11+exp{log[Ψ(θHTt(TTb))+δ]log[Ψb+Kt(TTb)+δ]σΨb}P(t, T, \Psi) = \frac{1}{1 + \exp \left\{ - \frac{ \log \left[ \Psi - \left( \frac{\theta_{HT}}{t ( T - T_b )} \right) + \delta \right] - \log \left[ \Psi_b + K_t (T - T_b) + \delta \right] }{\sigma_{\Psi_b}} \right\} }

The second function is 'HTTLL.BS()' and it assumes that the base water potential decreases with temperature only for any T>ToT > T_o, where ToT_o is the optimal temperature level. For this case, the element Kt(TTb)K_t(T - T_b) is modified as Kt[max(T,To)To]K_t[\max(T,T_o) - T_o] and the optimal temperature ToT_o is included as an explicit parameter.

The 'HTTLL.M.fun()' and 'HTTLL.BS.fun()' are two generic functions, which can be used for plotting or other applications, while the 'HTTLL.M()' and 'HTTLL.BS()' functions are meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTTLL.M()
HTTLL.BS()
HTTLL.M.fun(time, Psi, Temp, thetaHT, Tb, Psib50, Kt, delta, sigmaPsib)
HTTLL.BS.fun(time, Psi, Temp, thetaHT, Tb, To, Psib50, Kt, delta, sigmaPsib)

Arguments

The 'HTTLL.M()' and 'HTTLL.BS()' functions have no arguments. The 'HTTLL.M.fun()' and the 'HTTLL.BS.fun()' functions have the following arguments:

time

time

Psi

water potential in the substrate

Temp

temperature

thetaHT

hydro-time parameter

Tb

base temperature

To

optimal temperature

Psib50

median base water potential

Kt

parameter measuring the effect of temperature on base water potential

delta

shifting parameter to allow for a log-logistic distribution of negative values for base water potential

sigmaPsib

scale parameter for log-logistic distribution

Details

The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2017). PLEASE, NOTE that Psi (water potential) and Temp (temperature) must be given in the correct order

Value

The 'HTTLL.M.fun()' and 'HTTLL.BS.fun()' functions return the proportion of germinated seeds, for any given values of time, water potential and temperature in the substrate. The 'HTTLL.M()' and 'HTTLL.BS()' functions return a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the function 'drmte()'

Author(s)

Andrea Onofri

References

Bradford, K.J., 2002. Applications of hydrothermal time to quantifying and modeling seed germination and dormancy. Weed Science 50, 248–260.

Examples

data(hordeum)

modHTTLL.M <- drmte(nSeeds ~ timeBef + timeAf + water + temp,
                  data=hordeum,
                  fct = HTTLL.M(),
                  start=c(832,-2.5, -3, 0.07, 3, 0.5))
summary(modHTTLL.M)

modHTTLL.BS <- drmte(nSeeds ~ timeBef + timeAf + water + temp,
                 data=hordeum,
                 fct = HTTLL.BS(),
  start=c(932,-2.5, 15, -3, 0.07, 3, 0.5))
summary(modHTTLL.BS)

Hydro-thermal-time model with normal distribution of base water potential (Bradford, 2002)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential and temperature in the substrate and it is based on a normal distribution of base water potential within the seed lot. Two similar functions are available within the 'drcSeedGerm' package: the first one is 'HTTnorm.M()' that assumes that the base water potential decreases with temperature for any T>TbT > T_b. The equation is:

P(t,T,Ψ)=Φ{Ψ[θHTt(TTb)][Ψb+Kt(TTb)]σΨb}P(t, T, \Psi) = \Phi \left\{ \frac{\Psi - \left[ \frac{\theta_{HT}}{t (T - T_b)} \right] - \left[\Psi_b + K_t (T - T_b) \right] }{\sigma_{\Psi_b}} \right\}

where Φ\Phi is a gaussian cumulative distribution function for base water potential.

The second function is 'HTTNorm.BS()' and it assumes that the base water potential decreases with temperature only for any T>ToT > T_o, where ToT_o is the optimal temperature level. For this case, the element Kt(TTb)K_t(T - T_b) is modified as Kt[max(T,To)To]K_t[\max(T,T_o) - T_o] and the optimal temperature ToT_o is included as an explicit parameter.

The 'HTTNorm.M.fun()' and 'HTTNorm.BS.fun()' are two generic functions, which can be used for plotting or other applications, while the 'HTTNorm.M()' and 'HTTNorm.BS()' functions are meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTTnorm.M()
HTTnorm.BS()
HTTnorm.M.fun(time, Psi, Temp, thetaHT, Tb, Psib50, Kt, sigmaPsib)
HTTnorm.BS.fun(time, Psi, Temp, thetaHT, Tb, To, Psib50, Kt, sigmaPsib)

Arguments

The 'HTTnorm.M()' and 'HTTnorm.BS()' functions have no arguments. The 'HTTnorm.M.fun()' and the 'HTTnorm.BS.fun()' functions have the following arguments:

time

time

Psi

water potential in the substrate

Temp

temperature

thetaHT

hydro-time parameter

Tb

base temperature

To

optimal temperature

Psib50

median base water potential

Kt

parameter measuring the effect of temperature on base water potential

sigmaPsib

standard deviation for the base water potential within the seed lot

Details

The detail of this time-to-event model and the meaning of parameters are described in Bradford (2002).

Value

The 'HTTnorm.M.fun()' and 'HTTnorm.BS.fun()' functions return the proportion of germinated seeds, for any given values of time, water potential and temperature in the substrate. The 'HTTnorm.M()' and 'HTTnorm.BS()' functions return a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the function 'drmte()'

Author(s)

Andrea Onofri

References

Bradford, K.J., 2002. Applications of hydrothermal time to quantifying and modeling seed germination and dormancy. Weed Science 50, 248–260.

Examples

data(hordeum)

modHTTnorm.M <- drmte(nSeeds ~ timeBef + timeAf + water + temp,
                 data=hordeum,
                 fct = HTTnorm.M(),
  start=c(932,-2.5, -3, 0.07, 0.5))
summary(modHTTnorm.M)

Hydrotime model with Weibull Type I distribution of base water potential (Mesgaran et al., 2013)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a Weibull Type I distribution of base water potential within the seed lot. The equation is:

P(t)=exp{exp[log[Ψ(θHt)+δ]log(Ψb+δ)σ]}P(t) = exp \left\{ - \exp \left[ - \frac{ \log \left[ \Psi - \left( \frac{\theta _H}{t} \right) + \delta \right] - \log(\Psi_{b} + \delta) }{\sigma}\right] \right\}

In contrast to other hydrotime models (e.g., 'HTE1()', 'HTE2()', 'HTE3()', describing the distribution of germination time), this models describes the distribution of base water potential within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, gaussian (you see that 't' is at the denominator). The 'HTW1.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTW1()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTW1()
HTW1.fun(time, Psi, thetaH, delta, mu, sigma)

Arguments

The 'HTW1()' function has no arguments. The 'HTW1.fun()' function has the following arguments:

time

time

Psi

water potential in the substrate

thetaH

hydro-time constant

delta

shifting parameter to allow for negative water potential levels

mu

location parameter for the Type I Weibull distribution

sigma

scale parameter for the Type I Weibull Value distribution

Details

The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).

Value

The 'HTW1.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTW1()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the function 'drmte()'

Author(s)

Andrea Onofri

References

Mesgaran, M.B., Mashhadi, H.R., Alizadeh, H., Hunt, J., Young, K.R., Cousens, R.D., 2013. Importance of distribution function selection for hydrothermal time models of seed germination. Weed Research 53, 89–101.

Examples

data(rape)
modg <- drm( propCum ~ timeAf + Psi, fct=HTW1(), data=rape)
summary(modg)

Hydrotime model with Weibull Type II distribution of base water potential (Mesgaran et al., 2013)

Description

This model relates the time-course of the proportion of germinated seeds to the water potential in the substrate. It is based on a Weibull Type II distribution of base water potential within the seed lot. The equation is:

P(t)=1exp{exp[log[Ψ(θHt)+δ]log(Ψb+δ)σ]}P(t) = 1 - exp \left\{ - \exp \left[ \frac{ \log \left[ \Psi - \left( \frac{\theta _H}{t} \right) + \delta \right] - \log(\Psi_{b} + \delta) }{\sigma}\right] \right\}

In contrast to other hydrotime models (e.g., 'HTE1()', 'HTE2()', 'HTE3()', describing the distribution of germination time), this models describes the distribution of base water potential within the population, while the distribution of germination times is indirectly modelled, but it is not, in itself, gaussian (you see that 't' is at the denominator). The 'HTW2.fun()' is a generic function, which can be used for plotting or other applications, while the 'HTW2()' function is meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

HTW2()
HTW2.fun(time, Psi, thetaH, delta, mu, sigma)

Arguments

The 'HTW2()' function has no arguments. The 'HTW2.fun()' function has the following arguments:

time

time

Psi

water potential in the substrate

thetaH

hydro-time constant

delta

shifting parameter to allow for negative water potential levels

mu

location parameter for the Type II Weibull distribution

sigma

scale parameter for the Type II Weibull Value distribution

Details

The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).

Value

The 'HTW2.fun()' function returns the proportion of germinated seeds, for any given values of time and water potential in the substrate. The 'HTW2()' function returns a list containing the nonlinear function, the self-starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Note

This function is for use with the function 'drmte()'

Author(s)

Andrea Onofri

References

Mesgaran, M.B., Mashhadi, H.R., Alizadeh, H., Hunt, J., Young, K.R., Cousens, R.D., 2013. Importance of distribution function selection for hydrothermal time models of seed germination. Weed Research 53, 89–101.

Examples

data(rape)
modg <- drm( propCum ~ timeAf + Psi, fct=HTW2(), data=rape)
summary(modg)

Delete-a-Petri-dish jackknife

Description

This function estimates standard errors for regression model parameters by using the fully-iterated delete-a-group jackknife (Yu and Peng, 2008). This is asymptotically equivalent to the cluster-robust 'sandwich' variance estimator (Lipsiz, 1994).

Usage

jackGroupSE(obj, data, units)

Arguments

obj

a fitted model object

data

dataset containing the variables used in obj

units

a vector containing the code for Petri dishes

Details

Care should be taken to ensure that the assumptions for using a fully-iterated jackknife are valid.

Value

This function returns a data.frame containing the estimated parameters, the SEs and the robust SEs

Author(s)

Andrea Onofri

References

Yu, B., Peng, Y., 2008. Mixture cure models for multivariate survival data. Computational Statistics and Data Analysis 52, 1524–1532. Lipsitz, S.R., Dear, K.B.G., Zhao, L., 1994. Jackknife Estimators of Variance for Parameter Estimates from Estimating Equations with Applications to Clustered Survival Data. Biometrics 50, 842–846.

Examples

data(rape)

modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi,
               data=rape, fct=HTE1())
robust <- jackGroupSE(modHTE, rape, rape$Dish)
robust

Reshape a seed germination datasets for time-to-event analyses (deprecated)

Description

MakeDrm: this function reshapes a common field book for germination assays into the form that is required for time-to-event analyses with drm() in the drc package and drmte() in the drcte package. The common field book has one row per each Petri dish and the counts of germinated seeds at each assessment time are listed in different columns.

Usage

makeDrm(counts, treat, nViable, moniTimes)

Arguments

counts

Dataframe listing the counts of germinated seeds in each Petri dish (rows) at each assessment time (columns).

treat

Dataframe listing for each dish the levels of each treatment. It has as many columns as there are treatments in the experiment.

nViable

A vector with the number of viable seeds per dish, at the beginning of the assay

moniTimes

Vector of monitoring times. It needs to be of the same length as the number of columns in 'counts'.

Value

This function returns a dataframe

Author(s)

Andrea Onofri


Reshape a seed germination datasets for time-to-event model fitting.

Description

This function reshapes a datasets organised as necessary for nonlinear regression into the kind of dataset required by the drmte() function in the 'drcte' package. It works with either the counts of germinated seeds at each monitoring time or the cumulative counts at each monitoring time.

Usage

makeDrm2(counts, treat, nViable, moniTimes, Dish,  cumulative = TRUE)

Arguments

counts

Vector listing the counts of germinated seeds in each Petri dish at each assessment time.

treat

Dataframe listing, for each row of data, the corresponding level of experimental factors (one factor per column)

nViable

A vector listing the number of viable seeds, at the beginning of the assay. This number is the same for all observations belonging to the same dish.

moniTimes

Vector of monitoring times.

Dish

Vector of codes for dishes.

cumulative

Logical: True if counts are cumulative, False if they are not.

Value

Returns a dataframe

Author(s)

Andrea Onofri

Examples

# makeDrm2 (deprecated)
data(lotusCum)
moniTime <- lotusCum$Time
count <- lotusCum$nCum
nViable <- rep(25, length(lotusCum[,1]))
Dish <- as.factor(lotusCum$Dish)
treatGroups <- lotusCum[,1]
dataset_sd <- makeDrm2(count, treatGroups, nViable, moniTime, Dish)
head(dataset_sd)
count <- lotusCum$nSeeds
dataset_sd <- makeDrm2(count, treatGroups, nViable, moniTime, Dish, cumulative = FALSE)
head(dataset_sd)

A series of germination assays with Phalaris minor

Description

The germination of Phalaris minor was assayed at 6 mater potential levels and 6 temperature levels, on four replicated Petri dishes at each temperature and water potential. Twenty-five seeds per Petri dish were used. Inspections were made daily for twenty days.

Usage

data("phalaris")

Format

A data frame with 3024 observations on the following 9 variables.

temp

a numeric vector with the temperature level

water

a numeric vector with the water potential level

Dish

a numeric vector with the coding for Petri dishes

timeBef

a numeric vector, with the start time for each inspection interval

timeAf

a numeric vector, with the end time for each inspection interval

nViable

a numeric vector, with the number of viable seeds per dish, at the beginning of the assay

nSeeds

a numeric vector, with the number of germinated seeds during each inspection interval

nCum

a numeric vector, with the cumulative number of germinated seeds at each assessment time

propCum

a numeric vector, the cumulative proportion of germinated seeds at each assessment time

Details

The variable 'timeAf' contains the value 'Inf' (Infinity), that corresponds to the seeds which did not germinate during the assay, for which the germination times might be comprised from the last assessment time to infinity.

Author(s)

Mohsen Mesgaran

Source

Mesgaran, MB, A Onofri, HR Mashhadi, RD Cousens (2017) Water availability shifts the optimal temperatures for seed germination: A modelling approach. Ecological Modelling 351, 87–95

References

Mesgaran, MB, A Onofri, HR Mashhadi, RD Cousens (2017) Water availability shifts the optimal temperatures for seed germination: A modelling approach. Ecological Modelling 351, 87–95

Examples

data(phalaris)

Effect of environmental water potential or temperature on the germination capability of a seed lot

Description

These models are used to describe the germination capability of a seed lot, depending on the environmental water potential or temperature.

Usage

PmaxPsi1(fixed = c(NA, NA, NA), names = c("G", "Psib", "sigma"))
PmaxT1(fixed = c(NA, NA, NA), names = c("G", "Tc", "sigmaTc"))
PmaxPsi1.fun(Psi, G, Psib, sigma)
PmaxT1.fun(Temp, G, Tc, sigmaTc)

Arguments

fixed

numeric vector. Specifies which parameters are fixed and at what value they are fixed. Defaults to NAs for parameter that are not fixed.

names

a vector of character strings giving the names of the parameters (should not contain ":"). The default is reasonable.

Psi

Water potential level

Temp

Temperature level

G

Maximum proportion of germinated seeds

Psib

Base water potential level

sigma

Variability of base water potential within the seed lot

Tc

Ceiling temperature level

sigmaTc

Variability of ceiling temperature level within the population

Details

The R functions 'PmaxPsi1()' and 'PmaxT1()' are meant to be used for model fitting with the 'drm()' function, within the 'drc' package. On the other hand, 'PmaxPsi1.fun()' and 'PmaxT1.fun()' are general purpose functions, to bu used for plotting or other applications.

Value

'PmaxPsi1()' and 'PmaxT1()' return a list containing the nonlinear function, the self starter function and the parameter names, that are internally used for model fitting. 'PmaxPsi1.fun()' and 'PmaxT1.fun()' return the maximum proportion of germinated seeds for any given level of temperature or water potential in the substrate.

Author(s)

Andrea Onofri

References

https://www.statforbiology.com/2023/stat_drcte_12-htt2step/

Examples

library(drcte)
# Pmax vs Psi (shifted exponential)
Psi <- seq(-2.2, 0, by = 0.2)
Pmax <- c(0, 0, 0.076, 0.413, 0.514, 0.643, 0.712,
          0.832, 0.865, 0.849, 0.89, 0.90)
mod <- drm(Pmax ~ Psi, fct = PmaxPsi1())
summary(mod)

# Pmax vs Psi (shifted exponential, with asymptote)
Psi <- seq(-2.2, 0, by = 0.2)
Pmax <- c(0, 0, 0.076, 0.413, 0.514, 0.643, 0.712,
          0.832, 0.865, 0.849, 0.89, 0.90)
mod <- drm(Pmax ~ Psi, fct = PmaxPsi1(fixed = c(1, NA, NA)))
summary(mod)

# Pmax vs temperature
Tval <- c(0, 2.5, 5, 7.5, 10, 12.5, 15, 17.5,
          20, 22.5, 25, 27.5, 30, 32.5, 35)
Pmax2 <- c(0.79, 0.81, 0.807, 0.776, 0.83,
           0.73, 0.744, 0.73, 0.828, 0.818,
           0.805, 0.706, 0.41, 0.002, 0)
mod2 <- drm(Pmax2 ~ Tval, fct = PmaxT1())
summary(mod2)

Germination data from an assay of rapeseed at decreasing water potential levels

Description

This files describes the germination of rapeseed (cv. Excalibur) at different water potential levels in the substrate.

Usage

data("rape")

Format

A data frame with 294 observations on the following 7 variables.

Psi

a numeric vector: waterpotential level

Dish

a numeric vector: code for Petri dishes

timeBef

a numeric vector: beginning of scoring interval

timeAf

a numeric vector: end of scoring interval

nSeeds

a numeric vector: number of germinated seeds, between timeBef and timeAf

nCum

a numeric vector: cumulative number of germinated seeds at timeAf

propCum

a numeric vector: cumulative proportion of germinated seeds at timeAf

Source

Pace, R., Benincasa, P., Ghanem, M.E., Quinet, M., Lutts, S., 2012. Germination of untreated and primed seeds in rapeseed (Brassica napus var. oleifera Del.) under salinity and low matric potential. Experimental Agriculture 48, 238–251.

References

Pace, R., Benincasa, P., Ghanem, M.E., Quinet, M., Lutts, S., 2012. Germination of untreated and primed seeds in rapeseed (Brassica napus var. oleifera Del.) under salinity and low matric potential. Experimental Agriculture 48, 238–251.

Examples

#Fitting a hydrotime model
library(drcte)
data(rape)
gmod <- drmte(nSeeds ~ timeBef + timeAf + Psi,
                 data = rape, fct = HTE1())
summary(gmod)

Germination data from an assay of rapeseed at decreasing water potential levels

Description

This files describes the germination of rapeseed (cv. Excalibur and Toccata) at different water potential levels in the substrate.

Usage

data("rape")

Format

A data frame with 294 observations on the following 8 variables.

CV

a factor: rape genotype

Psi

a numeric vector: waterpotential level

Dish

a numeric vector: code for Petri dishes

timeBef

a numeric vector: beginning of scoring interval

timeAf

a numeric vector: end of scoring interval

nSeeds

a numeric vector: number of germinated seeds, between timeBef and timeAf

nCum

a numeric vector: cumulative number of germinated seeds at timeAf

Prop

a numeric vector: cumulative proportion of germinated seeds at timeAf

Source

Pace, R., Benincasa, P., Ghanem, M.E., Quinet, M., Lutts, S., 2012. Germination of untreated and primed seeds in rapeseed (Brassica napus var. oleifera Del.) under salinity and low matric potential. Experimental Agriculture 48, 238–251.

References

Pace, R., Benincasa, P., Ghanem, M.E., Quinet, M., Lutts, S., 2012. Germination of untreated and primed seeds in rapeseed (Brassica napus var. oleifera Del.) under salinity and low matric potential. Experimental Agriculture 48, 238–251.

Examples

#Fitting a hydrotime-to-event model
data(rape2G)
modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi,
            data=rape2G, fct=HTE1(),
            curveid = CV)
summary(modHTE)

Thermal-time models with log-logistic distribution of germination time (Onofri et al., 2018)

Description

These models relates the time-course of germinations to the environmental temperature and they are based on a truncated log-logistic distribution of germination time:

P(t)=d1+exp[b(log(x)log(e)]P(t) = \frac{d}{1 + exp\left[ b (\log(x) - \log(e)\right]}

where the usual parameters ('b', 'd' and 'e') are expressed as functions of wtemperature (TT). In the function 'TTEM()', we implemented the following submodels: (1) for the parameter 'd', we implemented the following submodels:

d=G[1exp(TcTσTc)]d = G \, \left[ 1 - \exp \left( - \frac{ T_c - T }{\sigma_{T_c}} \right) \right]

1/[e(T)]=GR50(T)=TTbθT[1TTbTcTb]1/[e(T)] = GR_{50}(T) = \frac{T - T_b }{\theta_T} \left[1 - \frac{T - T_b}{T_c - T_b}\right]

while 'b' was regarded as constant and independent from temperature.

In the 'TTERF()' function, the last submodel was modified, according to Rowse and Finch-Savage (2003):

1/[e(T)]=GR50(T)={TTbθTifTb<T<TdTTbθT[1TTdTcTd]ifTd<T<Tc0ifTTborTTc1/[e(T)] = GR_{50}(T) = \left\{ {\begin{array}{ll} \frac{T - T_b}{\theta_T} & \textrm{if} \,\,\, T_b < T < T_d \\ \frac{T - T_b}{\theta_T} \left[ 1 - \frac{T - T_d}{T_c - T_d} \right] & \textrm{if} \,\,\, T_d < T < T_c \\ 0 & \textrm{if} \,\,\, T \leq T_b \,\,\, or \,\,\, T \geq T_c \end{array}} \right.

In the In the 'TTERFc()' function a further submodel was introduced, to model the effect of temperature in the shape parameter 'b':

σ(T)=1b=1b0+s(TTb)\sigma(T) = \frac{1}{b} = \frac{1}{b_0} + s (T - T_b)

The 'TTEM.fun()', 'TTERF.fun()' and 'TTERFc.fun()' are generic functions, which can be used for plotting or other applications, while the 'TTEM()', 'TTERF()' and 'TTERFc()' functions are meant to be used for model fitting with the 'drmte()' function in the 'drcte()' package.

Usage

TTEM()
TTEM.fun(time, Temp, G, Tc, sigmaTc, Tb, ThetaT, b)
TTERF()
TTERF.fun(time, Temp, G, Tc, sigmaTc, Td, Tb, ThetaT, b)
TTERFc()
TTERFc.fun(time, Temp, G, Tc, sigmaTc, Td, Tb, ThetaT, b0, s)

Arguments

The TTEM(), TTERF() and TTERFc() functions have no arguments. The TTEM.fun(), TTERF.fun() and TTERFc.fun() functions have the following arguments:

time

time

Temp

temperature

G

maximum germination capability of the seed lot

Tc

ceiling temperature

sigmaTc

standard deviation for the ceiling temperature within the seed lot

Tb

base temperature

Td

close to optimal temperature

ThetaT

Thermal-time parameter

b

shape parameter for the cumulative distribution function of germination time

b0

shape parameter for the cumulative distribution function of germination time at T = Tb

s

parameter for the effect of temperature on the scale parameter for the log-logistic distribution of germination times

Details

The detail of these functions are described in Onofri et al. (2018).

Value

The 'TTEM.fun()', 'TTERF.fun()' and 'TTERFc.fun()' functions return the proportion of germinated seeds, for given values of time and temperature. The 'TTEM()', 'TTERF()' and 'TTERFc()' functions return a list containing the nonlinear function, the self starter function, the parameter names and other items which are internally used by the 'drmte()' function.

Author(s)

Andrea Onofri

References

Onofri, A., Benincasa, P., Mesgaran, M.B., Ritz, C., 2018. Hydrothermal-time-to-event models for seed germination. European Journal of Agronomy 101, 129–139. Rowse, H.R., Finch-Savage, W.E., 2003. Hydrothermal threshold models can describe the germination response of carrot (Daucus carota) and onion (Allium cepa) seed populations across both sub- and supra-optimal temperatures. New Phytologist 158, 101–108. https://www.statforbiology.com/2023/stat_drcte_11-examplette/

Examples

data(barley)
modTTE <- drmte(nSeeds ~ timeBef + timeAf + Temp, data = barley,
               fct = TTERF())
summary(modTTE)