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 |
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.
data("alfalfaSG")
data("alfalfaSG")
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
a numeric vector: count at day 1
a numeric vector: count at day 2
a numeric vector: count at day 3
a numeric vector: count at day 4
a numeric vector: count at day 5
a numeric vector: count at day 6
a numeric vector: count at day 7
a numeric vector: count at day 8
a numeric vector: count at day 9
a numeric vector: count at day 10
a numeric vector: count at day 11
a numeric vector: count at day 12
a numeric vector: count at day 13
a numeric vector: count at day 14
a numeric vector: count at day 15
a numeric vector: count at day 16
a numeric vector: count at day 17
a numeric vector: count at day 18
a numeric vector: count at day 19
a numeric vector: count at day 20
a numeric vector: count at day 21
a numeric vector: count at day 22
a numeric vector: count at day 23
a numeric vector: count at day 24
a numeric vector: count at day 27
a numeric vector: count at day 28
a numeric vector: count at day 29
a numeric vector: count at day 31
a numeric vector: count at day 34
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.
Andrea Onofri
no reference yet
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.
data(alfalfaSG) head(alfalfaSG)
data(alfalfaSG) head(alfalfaSG)
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.
data("barley")
data("barley")
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
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.
Andrea Onofri
no reference yet
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.
data(barley)
data(barley)
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.
data("excalibur")
data("excalibur")
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
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.
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.
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))
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))
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.
data("festuca")
data("festuca")
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
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.
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.
data(festuca) modGR1 <- drm(GR ~ Psi, fct=GRPsiLin(), data=festuca, curveid=g) summary(modGR1)
data(festuca) modGR1 <- drm(GR ~ Psi, fct=GRPsiLin(), data=festuca, curveid=g) summary(modGR1)
These models describe the response of germination rate to water potential in the substrate.
GRPsiLin() GRPsiPol() GRPsiPol2() GRPsi.Lin() GRPsi.Pol() GRPsi.Pol2() GRPsiLin.fun(Psi, Psib, thetaH) GRPsiPol.fun(Psi, Psib, thetaH) GRPsiPol2.fun(Psi, Psib, thetaH)
GRPsiLin() GRPsiPol() GRPsiPol2() GRPsi.Lin() GRPsi.Pol() GRPsi.Pol2() GRPsiLin.fun(Psi, Psib, thetaH) GRPsiPol.fun(Psi, Psib, thetaH) GRPsiPol2.fun(Psi, Psib, thetaH)
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 |
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).
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.
Andrea Onofri
See package documentation at: https://www.statforbiology.com/_seedtutorial/
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)
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)
These models are used to describe the germination rate of a seed, depending on the environmental temperature.
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)
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)
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 |
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.
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.
Andrea Onofri
https://www.statforbiology.com/2023/stat_drcte_12-htt2step/
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)")
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)")
These models are used to describe the germination rate of a seed, depending on the environmental temperature and water potential.
GRTPsi.M() GRTPsi.M.fun(Temp, Psi, k, Tb, ThetaHT, Psib) GRTPsi.BS() GRTPsi.BS.fun(Temp, Psi, k, Tb, To, ThetaHT, Psib)
GRTPsi.M() GRTPsi.M.fun(Temp, Psi, k, Tb, ThetaHT, Psib) GRTPsi.BS() GRTPsi.BS.fun(Temp, Psi, k, Tb, To, ThetaHT, Psib)
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 |
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.
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.
Andrea Onofri
https://www.statforbiology.com/2023/stat_drcte_12-htt2step/
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)")
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)")
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:
where 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.
HaloTL() HaloTL.fun(time, SConc, ThetaHalo, SConcb50, sigma)
HaloTL() HaloTL.fun(time, SConc, ThetaHalo, SConcb50, sigma)
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 |
This model is derived from the halo-thermal time model described in Bakhshandeh et al. (2020).
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.
This function is for use with the R function 'drmte()'
Andrea Onofri
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.
# 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)
# 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)
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:
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.
HaloTLL() HaloTLL.fun(time, SConc, thetaHalo, SConcb50, sigma)
HaloTLL() HaloTLL.fun(time, SConc, thetaHalo, SConcb50, sigma)
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 |
This model is derived from the halo-thermal time model described in Bakhshandeh et al. (2020).
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.
This function is for use with the R function 'drmte()'
Andrea Onofri
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.
# 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)
# 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)
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:
where 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.
HaloTnorm() HaloTnorm.fun(time, SConc, ThetaHalo, SConcb50, sigmaSConcb)
HaloTnorm() HaloTnorm.fun(time, SConc, ThetaHalo, SConcb50, sigmaSConcb)
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 |
This model is derived from the halo-thermal time model described in Bakhshandeh et al. (2020).
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.
This function is for use with the R function 'drmte()'
Andrea Onofri
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.
# 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)
# 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)
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.
data("hordeum")
data("hordeum")
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
This dataset was analysed in the time-to-event framework in Onofri et al (2018). See Example 2.
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
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
# Fitting a hydrotime model data(rape) gmod <- drmte(nSeeds ~ timeBef + timeAf + Psi, fct=HTnorm(), data=rape) summary(gmod) jackGroupSE(gmod, rape, rape$Dish)
# Fitting a hydrotime model data(rape) gmod <- drmte(nSeeds ~ timeBef + timeAf + Psi, fct=HTnorm(), data=rape) summary(gmod) jackGroupSE(gmod, rape, rape$Dish)
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:
where two of the three usual parameters ('d' and 'e') are expressed as functions of water potential (). In this function, the two submodels are: (1) for the parameter 'd', we used a shifted exponential function:
while, (2) for the parameter 'e' we considered that its inverse corresponds to the median Germination Rate within the population (i.e. ) and modelled this latter parameter as:
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.
HTE1(fixed = c(NA, NA, NA, NA, NA), names = c("G", "Psib", "sigmaPsib", "thetaH", "b")) HTE1.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)
HTE1(fixed = c(NA, NA, NA, NA, NA), names = c("G", "Psib", "sigmaPsib", "thetaH", "b")) HTE1.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)
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 |
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.
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.
Andrea Onofri
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/
data(rape) modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi, data=rape, fct=HTE1()) summary(modHTE)
data(rape) modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi, data=rape, fct=HTE1()) summary(modHTE)
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:
where two of the three usual parameters ('d' and 'e') are expressed as functions of water potential (). In this function, the two submodels are: (1) for the parameter 'd', we used a shifted exponential function:
while, (2) for the parameter 'e' we considered that its inverse corresponds to the median Germination Rate within the population (i.e. ) and modelled this latter parameter as:
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.
HTE2(fixed = c(NA, NA, NA, NA, NA), names = c("G", "Psib", "sigmaPsib", "thetaH", "b")) HTE2.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)
HTE2(fixed = c(NA, NA, NA, NA, NA), names = c("G", "Psib", "sigmaPsib", "thetaH", "b")) HTE2.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)
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 |
No more detail, at the moment.
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.
Andrea Onofri
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/
# Fitting model data(rape) modHTE2 <- drmte( nSeeds ~ timeBef + timeAf + Psi, data=rape, fct=HTE2()) summary(modHTE2)
# Fitting model data(rape) modHTE2 <- drmte( nSeeds ~ timeBef + timeAf + Psi, data=rape, fct=HTE2()) summary(modHTE2)
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:
where two of the three usual parameters ('d' and 'e') are expressed as functions of water potential (). In this function, the two submodels are: (1) for the parameter 'd', we used a shifted exponential function:
while, (2) for the parameter 'e' we considered that its inverse corresponds to the median Germination Rate within the population (i.e. ) and modelled this latter parameter as:
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.
HTE3(fixed = c(NA, NA, NA, NA, NA), names = c("G", "Psib", "sigmaPsib", "thetaH", "b")) HTE3.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)
HTE3(fixed = c(NA, NA, NA, NA, NA), names = c("G", "Psib", "sigmaPsib", "thetaH", "b")) HTE3.fun(time, Psi, G, Psib, sigmaPsib, thetaH, b)
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 |
No more detail, at the moment.
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.
Andrea Onofri
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/
# Fitting model data(rape) modHTE3 <- drmte( nSeeds ~ timeBef + timeAf + Psi, data = rape, fct=HTE3()) summary(modHTE3)
# Fitting model data(rape) modHTE3 <- drmte( nSeeds ~ timeBef + timeAf + Psi, data = rape, fct=HTE3()) summary(modHTE3)
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:
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.
HTex() HTex.fun(time, Psi, thetaH, mu, sigma)
HTex() HTex.fun(time, Psi, thetaH, mu, sigma)
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 |
The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).
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.
This function is for use with the function 'drmte()'
Andrea Onofri
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.
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTex(), data=rape) summary(modg)
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTex(), data=rape) summary(modg)
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:
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.
HTG() HTG.fun(time, Psi, ThetaH, mu, sigma)
HTG() HTG.fun(time, Psi, ThetaH, mu, sigma)
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 |
The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).
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.
This function is for use with the function 'drmte()'
Andrea Onofri
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.
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTG(), data=rape) summary(modg)
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTG(), data=rape) summary(modg)
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:
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.
HTL() HTL.fun(time, Psi, ThetaH, Psib50, sigma)
HTL() HTL.fun(time, Psi, ThetaH, Psib50, sigma)
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 |
The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).
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.
This function is for use with the function 'drmte()'
Andrea Onofri
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.
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTL(), data=rape) summary(modg)
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTL(), data=rape) summary(modg)
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:
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.
HTLL() HTLL.fun(time, Psi, thetaH, delta, Psib50, sigma)
HTLL() HTLL.fun(time, Psi, thetaH, delta, Psib50, sigma)
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 |
The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).
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.
This function is for use with the function 'drmte()'
Andrea Onofri
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.
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTLL(), data=rape) summary(modg)
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTLL(), data=rape) summary(modg)
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:
where 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.
HTnorm() HTnorm.fun(time, Psi, ThetaH, Psib50, sigmaPsib)
HTnorm() HTnorm.fun(time, Psi, ThetaH, Psib50, sigmaPsib)
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 |
The detail of this time-to-event model and the meaning of parameters are described in Bradford (2002).
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.
This function is for use with the R function 'drmte()'
Andrea Onofri
Bradford, K.J., 2002. Applications of hydrothermal time to quantifying and modeling seed germination and dormancy. Weed Science 50, 248–260.
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)
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)
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:
where two of the three usual parameters ('d' and 'e') are expressed as functions of water potential () and temperature (
). In the function 'HTTEM()', we implemented the following submodels: (1) for the parameter 'd', we implemented a shifted exponential function:
while, (2) for the parameter 'e' we considered that its inverse corresponds to the median Germination Rate within the population (i.e. ) and modelled this latter parameter as:
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.
HTTEM() HTTEM.fun(time, Psi, Temp, G, Psib, kt, Tb, sigmaPsib, ThetaHT, b)
HTTEM() HTTEM.fun(time, Psi, Temp, G, Psib, kt, Tb, sigmaPsib, ThetaHT, b)
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 |
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.
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.
Andrea Onofri
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/
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)
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)
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 . The equation is:
The second function is 'HTTLL.BS()' and it assumes that the base water potential decreases with temperature only for any , where
is the optimal temperature level. For this case, the element
is modified as
and the optimal temperature
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.
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)
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)
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 |
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
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.
This function is for use with the function 'drmte()'
Andrea Onofri
Bradford, K.J., 2002. Applications of hydrothermal time to quantifying and modeling seed germination and dormancy. Weed Science 50, 248–260.
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)
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)
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 . The equation is:
where 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 , where
is the optimal temperature level. For this case, the element
is modified as
and the optimal temperature
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.
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)
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)
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 |
The detail of this time-to-event model and the meaning of parameters are described in Bradford (2002).
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.
This function is for use with the function 'drmte()'
Andrea Onofri
Bradford, K.J., 2002. Applications of hydrothermal time to quantifying and modeling seed germination and dormancy. Weed Science 50, 248–260.
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)
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)
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:
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.
HTW1() HTW1.fun(time, Psi, thetaH, delta, mu, sigma)
HTW1() HTW1.fun(time, Psi, thetaH, delta, mu, sigma)
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 |
The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).
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.
This function is for use with the function 'drmte()'
Andrea Onofri
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.
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTW1(), data=rape) summary(modg)
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTW1(), data=rape) summary(modg)
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:
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.
HTW2() HTW2.fun(time, Psi, thetaH, delta, mu, sigma)
HTW2() HTW2.fun(time, Psi, thetaH, delta, mu, sigma)
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 |
The detail of this time-to-event model and the meaning of parameters are described in Mesgaran et al. (2013).
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.
This function is for use with the function 'drmte()'
Andrea Onofri
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.
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTW2(), data=rape) summary(modg)
data(rape) modg <- drm( propCum ~ timeAf + Psi, fct=HTW2(), data=rape) summary(modg)
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).
jackGroupSE(obj, data, units)
jackGroupSE(obj, data, units)
obj |
a fitted model object |
data |
dataset containing the variables used in obj |
units |
a vector containing the code for Petri dishes |
Care should be taken to ensure that the assumptions for using a fully-iterated jackknife are valid.
This function returns a data.frame containing the estimated parameters, the SEs and the robust SEs
Andrea Onofri
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.
data(rape) modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi, data=rape, fct=HTE1()) robust <- jackGroupSE(modHTE, rape, rape$Dish) robust
data(rape) modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi, data=rape, fct=HTE1()) robust <- jackGroupSE(modHTE, rape, rape$Dish) robust
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.
makeDrm(counts, treat, nViable, moniTimes)
makeDrm(counts, treat, nViable, moniTimes)
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'. |
This function returns a dataframe
Andrea Onofri
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.
makeDrm2(counts, treat, nViable, moniTimes, Dish, cumulative = TRUE)
makeDrm2(counts, treat, nViable, moniTimes, Dish, cumulative = TRUE)
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. |
Returns a dataframe
Andrea Onofri
# 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)
# 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)
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.
data("phalaris")
data("phalaris")
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
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.
Mohsen Mesgaran
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
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
data(phalaris)
data(phalaris)
These models are used to describe the germination capability of a seed lot, depending on the environmental water potential or temperature.
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)
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)
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 |
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.
'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.
Andrea Onofri
https://www.statforbiology.com/2023/stat_drcte_12-htt2step/
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)
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)
This files describes the germination of rapeseed (cv. Excalibur) at different water potential levels in the substrate.
data("rape")
data("rape")
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
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.
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.
#Fitting a hydrotime model library(drcte) data(rape) gmod <- drmte(nSeeds ~ timeBef + timeAf + Psi, data = rape, fct = HTE1()) summary(gmod)
#Fitting a hydrotime model library(drcte) data(rape) gmod <- drmte(nSeeds ~ timeBef + timeAf + Psi, data = rape, fct = HTE1()) summary(gmod)
This files describes the germination of rapeseed (cv. Excalibur and Toccata) at different water potential levels in the substrate.
data("rape")
data("rape")
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
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.
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.
#Fitting a hydrotime-to-event model data(rape2G) modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi, data=rape2G, fct=HTE1(), curveid = CV) summary(modHTE)
#Fitting a hydrotime-to-event model data(rape2G) modHTE <- drmte( nSeeds ~ timeBef + timeAf + Psi, data=rape2G, fct=HTE1(), curveid = CV) summary(modHTE)
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:
where the usual parameters ('b', 'd' and 'e') are expressed as functions of wtemperature (). In the function 'TTEM()', we implemented the following submodels: (1) for the parameter 'd', we implemented the following submodels:
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):
In the In the 'TTERFc()' function a further submodel was introduced, to model the effect of temperature in the shape parameter '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.
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)
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)
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 |
The detail of these functions are described in Onofri et al. (2018).
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.
Andrea Onofri
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/
data(barley) modTTE <- drmte(nSeeds ~ timeBef + timeAf + Temp, data = barley, fct = TTERF()) summary(modTTE)
data(barley) modTTE <- drmte(nSeeds ~ timeBef + timeAf + Temp, data = barley, fct = TTERF()) summary(modTTE)