FitSigma: Seed viability curve fitting to estimate \mjseqnK_i and...

Description Usage Arguments Details Value References Examples

View source: R/FitSigma.R

Description

Fit seed viability/survival curve to estimate the seed lot constant (\mjseqnK_i) and the period to lose unit probit viability (\mjseqn\sigma). \loadmathjax

Usage

1
2
3
4
5
6
7
8
9
FitSigma(
  data,
  viability.percent,
  samp.size,
  storage.period,
  generalised.model = TRUE,
  use.cv = FALSE,
  control.viability = 100
)

Arguments

data

A data frame with the seed viability data recorded periodically. It should possess columns with data on

  • Viability percentage (to be indicated by the argument viability.percent),

  • Sample size (to be indicated by the argument samp.size) and

  • Storage period (to be indicated by the argument storage.period).

viability.percent

The name of the column in data with the viability percentages as a character string.

samp.size

The name of the column in data with the sample size used for calculating viability percentages as a character string.

storage.period

The name of the column in data with the time periods at which the viabilty percentages was recorded as a character string.

generalised.model

logical. If TRUE (recommended), the seed viability curve is fitted as a generalised linear model with a probit link function. If TRUE, it is fitted as a linear model with probit transformed viability percentages.

use.cv

logical. If TRUE, then the percentage value specified in the control.viabilty argument is incorporated as the control viability parameter into the seed viability equation for fitting. Default is FALSE.

control.viability

The control viability (%).

Details

This function fits seed survival data to the following seed viability equation \insertCiteellis_improved_1980viabilitymetrics which models the relationship between probit percentage viability and time period of storage.

\mjsdeqn

v=K_i-\fracp\sigma

or

\mjsdeqn

v=K_i-\left ( \frac1\sigma \right )\cdot p

Where, \mjseqnv is the probit percentage viability at storage time \mjseqnp (final viability), \mjseqnK_i is the probit percentage viability of the seedlot at the beginning of storage (seedlot constant) and \mjseqn\frac1\sigma is the slope.

The above equation may be expressed as a generalized linear model (GLM) with a probit (cumulative normal distribution) link function as follows \insertCitehay_modelling_2014viabilitymetrics.

\mjsdeqn

y = \phi(v) = \phi\left ( K_i-\left ( \frac1\sigma \right )p \right )

Where, \mjseqny is the proportion of seeds viabile after time period \mjseqnp and the link function is \mjseqn\phi^-1, the inverse of the cumulative normal distribution function.

The parameters estimated are the intercept \mjseqnK_i, theoretical viability of the seeds at the start of storage or the seed lot constant, and the slope \mjseqn-\sigma^-1, where \mjseqn\sigma is the standard deviation of the normal distribution of seed deaths in time or the period of time to lose unit probit viability.

This function can also incorporate a control viability parameter into the model to fit the modified model suggested by \insertCitemead_prediction_1999viabilitymetrics. The modified model is as follows.

\mjsdeqn

y = C_v \times \phi(v) = C_v \times \phi\left (K_i-\left ( \frac1\sigma \right )p \right )

Where, \mjseqnC_v is the control viability parameter which is the proportion of respondent seeds. This excludes the bias due to seeds of the ageing population that have already lost viability at the start of storage and those non-respondent seeds that are not part of the ageing population due to several reasons.

Value

A list of class FitSigma with the following components:

data

A data frame with the data used for computing the model.

model

The fitted model as an object of class glm (if generalised.model = TRUE) or lm (if generalised.model = FALSE).

parameters

A data.frame of parameter estimates, standard errors and p value.

fit

A one-row data frame with estimates of model fitness such as log likelyhoods, Akaike Information Criterion, Bayesian Information Criterion, deviance and residual degrees of freedom.

Ki

The estimated seed lot constant from the model.

sigma

The estimated period of time to lose unit probit viability from the model.

message

Warning or error messages generated during fitting of model, if any.

References

\insertAllCited

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
data(seedsurvival)
df <- seedsurvival[seedsurvival$crop == "Soybean" &
                     seedsurvival$moistruecontent == 7 &
                     seedsurvival$temperature == 25,
                   c("storageperiod", "rep",
                     "viabilitypercent", "sampsize")]

plot(df$storageperiod, df$viabilitypercent)

#----------------------------------------------------------------------------
# Generalised linear model with probit link function (without cv)
#----------------------------------------------------------------------------
model1a <- FitSigma(data = df, viability.percent = "viabilitypercent",
                   samp.size = "sampsize", storage.period = "storageperiod",
                   generalised.model = TRUE)
model1a
# Raw model
model1a$model

# Model parameters
model1a$parameters

# Model fit
model1a$fit

#----------------------------------------------------------------------------
# Generalised linear model with probit link function (with cv)
#----------------------------------------------------------------------------
model1b <- FitSigma(data = df, viability.percent = "viabilitypercent",
                   samp.size = "sampsize", storage.period = "storageperiod",
                   generalised.model = TRUE,
                   use.cv = TRUE, control.viability = 98)
model1b
# Raw model
model1b$model

# Model parameters
model1b$parameters

# Model fit
model1b$fit

#----------------------------------------------------------------------------
# Linear model after probit transformation (without cv)
#----------------------------------------------------------------------------
model2a <- FitSigma(data = df, viability.percent = "viabilitypercent",
                   samp.size = "sampsize", storage.period = "storageperiod",
                   generalised.model = FALSE)
model2a
# Raw model
model2a$model

# Model parameters
model2a$parameters

# Model fit
model2a$fit

#----------------------------------------------------------------------------
# Linear model after probit transformation (with cv)
#----------------------------------------------------------------------------
model2b <- FitSigma(data = df, viability.percent = "viabilitypercent",
                   samp.size = "sampsize", storage.period = "storageperiod",
                   generalised.model = FALSE,
                   use.cv = TRUE, control.viability = 98)
model2b
# Raw model
model2b$model

# Model parameters
model2b$parameters

# Model fit
model2b$fit

aravind-j/viabilitymetrics documentation built on May 15, 2021, 9:10 a.m.