FinalViability: Predict variables from the seed viability equation

Description Usage Arguments Details Value Note References See Also Examples

View source: R/FinalViability.R

Description

Predict the variables, final viability, storage period, storage temperature and storage period from the improved seed viability equation \insertCiteellis_improved_1980viabilitymetrics.

FinalViability

Compute the final viability after a period of storage at a set of storage conditions (seed moisture content and temperature).

StoragePeriod

Compute the storage period from the final viability and the storage conditions (seed moisture content and temperature).

StorageMC

Compute the storage moisture content to give final viability at a particular storage temperature.

StorageTemp

Compute the storage temperature to give final viability at a particular storage temperature.

\loadmathjax

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
FinalViability(initial, period, vcindex, vcdirect, mc, temp, years = FALSE)

StorageMC(initial, final, period, vcindex, vcdirect, temp, years = FALSE)

StorageTemp(
  initial,
  final,
  period,
  vcindex,
  vcdirect,
  mc,
  years = FALSE,
  unit = c("celsius", "fahrenheit")
)

StoragePeriod(initial, final, vcindex, vcdirect, mc, temp, years = FALSE)

Arguments

initial

The initial viability (%).

period

The time period of storage in days or years according to the argument years).

vcindex

An integer value indicating the index of seed viability. constants to be used from the viabilityconstants dataset in the package.

vcdirect

A numeric vector of length 4 with the four viability constants viz.: \mjseqnK_E, \mjseqnC_W, \mjseqnC_H and \mjseqnC_Q.

mc

Moisture content.

temp

Temperature in °C.

years

If TRUE, returns the output period in years instead of days.

final

The final viability (%).

unit

The unit of temperature.

Details

The improved seed viability equation of \insertCiteellis_improved_1980viabilitymetrics describes the relationship between final viability, storage period and storage environment conditions as follows.

\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\dfrac1\sigma is the slope.

Germination percentages plotted against storage times yield a sigmoid seed survival curve which is converted to a linear relationship by the probit transformation with slope \mjseqn\dfrac1\sigma.

The slope is determined as follows.

\mjsdeqn\sigma

= 10^K_E-C_W\logm-C_Ht-C_Qt^2

Where, \mjseqnm is the moisture content (fresh weight basis), \mjseqnt is the temperature and \mjseqnK_E, \mjseqnC_W, \mjseqnC_H and \mjseqnC_Q are the species-specific seed viability constants.

On the basis of the the improved seed viability equation, \mjseqnv, \mjseqnp, \mjseqnm and \mjseqnt can be estimated as follows.

\mjsdeqn

v=K_i-\fracp\sigma

\mjsdeqn

p = \sigma(K_i-v)

\mjsdeqn

m = 10^\left[ \left( K_E - C_Ht - C_Qt^2 -\log \left( \fracpK_i-v \right) \right) \bigg/ C_W \right]

\mjsdeqn

t = \frac-C_H \pm \sqrtC_H^2-4C_Q\left ( C_W\logm-K_E+ \log\left ( \fracpK_i-v \right ) \right )2C_Q

The value of the species-specific seed viability constants can be specified either directly in the arguement vcdirect or as the index value of the required seed viability constants from the viabilityconstants dataset through the argument vcindex.

The value of this prediction is appropriate for temperature between -20 to 90 °C and seed moisture content between 5 to 25%. For values beyond this range, a warning will be displayed.

Value

For FinalViability, the final viability (%).

For StorageMC, the storage moisture content (%).

For StorageTemp, the storage temperature (°C).

For StoragePeriod, the duration of storage (according to argument years).

Note

For initial and/or final viability percentage values of 0% and 100%, adjust it according to sample size using the PercentAdjust function to avoid infinity or extreme values in output.

References

\insertAllCited

See Also

Sigma, PercentAdjust

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
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# Fetch the index from viabilityconstants dataset
viabilityconstants[grepl("oryza", x = viabilityconstants$Species,
                         ignore.case = TRUE),]

#----------------------------------------------------------------------------
# Final viability
#----------------------------------------------------------------------------
# Use index  87
FinalViability(initial = 98, period = 365, vcindex = 87, mc = 10, temp = 5,
               years = FALSE)
FinalViability(initial = 98, period = 1, vcindex = 87, mc = 10, temp = 5,
               years = TRUE)

# Input the viability constants directly
FinalViability(initial = 98, period = 365,
               vcdirect = c(8.242, 4.345, 0.0307, 0.000501),
               mc = 10, temp = 5, years = FALSE)
FinalViability(initial = 98, period = 1,
               vcdirect = c(8.242, 4.345, 0.0307, 0.000501),
               mc = 10, temp = 5, years = TRUE)

## Not run: 
# Error if initial viability is beyond limits (0-100 %)
FinalViability(initial = 110, period = 365, vcindex = 87, mc = 10, temp = 5)

## End(Not run)

# Warning if moisture content is beyond limits (0-100 %)
FinalViability(initial = 98, period = 365, vcindex = 87, mc = 110, temp = 5)

# Warning if temperature is beyond limits (-20 to 90 degree C)
FinalViability(initial = 98, period = 365, vcindex = 87, mc = 10, temp = 95)

# With initial viability 100
FinalViability(initial = 100, period = 365, vcindex = 87, mc = 10, temp = 5,
               years = FALSE)
FinalViability(initial = 100, period = 1, vcindex = 87, mc = 10, temp = 5,
               years = TRUE)

# With intial viability of 100%, use of PercentAdjust() to avoid extremes
FinalViability(initial = PercentAdjust(100, n = 50), period = 365,
               vcindex = 87, mc = 10, temp = 5, years = FALSE)
FinalViability(initial = PercentAdjust(100, n = 50), period = 1,
               vcindex = 87, mc = 10, temp = 5, years = TRUE)

#----------------------------------------------------------------------------
# Storage moisture content
#----------------------------------------------------------------------------
# Use index  87
StorageMC(initial = 98, final = 95, period = 3650, vcindex = 87, temp = 5,
          years = FALSE)
StorageMC(initial = 98, final = 95, period = 10, vcindex = 87, temp = 5,
          years = TRUE)

# Input the viability constants directly
StorageMC(initial = 98, final = 95, period = 3650,
          vcdirect = c(8.242, 4.345, 0.0307, 0.000501),
          temp = 5, years = FALSE)
StorageMC(initial = 98, final = 95, period = 10,
          vcdirect = c(8.242, 4.345, 0.0307, 0.000501),
          temp = 5, years = TRUE)

## Not run: 
# Error if initial viability is beyond limits (0-100 %)
StorageMC(initial = 110, final = 95, period = 3650, vcindex = 87, temp = 5)

# Error if final viability is beyond limits (0-100 %)
StorageMC(initial = 98, final = -10, period = 3650, vcindex = 87, temp = 5)

## End(Not run)

# Warning if temperature is beyond limits (-20 to 90 degree C)
StorageMC(initial = 98, final = 95, period = 3650, vcindex = 87, temp = 95)

#----------------------------------------------------------------------------
# Storage temperature
#----------------------------------------------------------------------------
# Use index  87

# In Celsius
StorageTemp(initial = 98, final = 95, period = 3650, vcindex = 87, mc = 8,
          years = FALSE)
StorageTemp(initial = 98, final = 95, period = 10, vcindex = 87, mc = 8,
          years = TRUE)

# In Fahrenheit
StorageTemp(initial = 98, final = 95, period = 3650, vcindex = 87, mc = 8,
            years = FALSE, unit = "fahrenheit")
StorageTemp(initial = 98, final = 95, period = 10, vcindex = 87, mc = 8,
            years = TRUE, unit = "fahrenheit")

# Input the viability constants directly
StorageTemp(initial = 98, final = 95, period = 3650,
          vcdirect = c(8.242, 4.345, 0.0307, 0.000501),
          mc = 8, years = FALSE)
StorageTemp(initial = 98, final = 95, period = 10,
          vcdirect = c(8.242, 4.345, 0.0307, 0.000501),
          mc = 8, years = TRUE)

## Not run: 
# Error if initial viability is beyond limits (0-100 %)
StorageTemp(initial = 110, final = 95, period = 3650, vcindex = 87, mc = 8)

# Error if final viability is beyond limits (0-100 %)
StorageTemp(initial = 98, final = -10, period = 3650, vcindex = 87, mc = 8)

## End(Not run)

# Warning if moisture content is beyond limits (0-100 %)
StorageTemp(initial = 98, final = 95, period = 3650, vcindex = 87, mc = 110)


#----------------------------------------------------------------------------
# Storage period
#----------------------------------------------------------------------------
# Use index  87
 StoragePeriod(initial = 98, final = 95, vcindex = 87, mc = 10, temp = 5,
                years = FALSE)
 StoragePeriod(initial = 98, final = 95, vcindex = 87, mc = 10, temp = 5,
                years = TRUE)

 # Input the viability constants directly
 StoragePeriod(initial = 98, final = 95,
                vcdirect = c(8.242, 4.345, 0.0307, 0.000501),
                mc = 10, temp = 5, years = FALSE)
 StoragePeriod(initial = 98, final = 95,
                vcdirect = c(8.242, 4.345, 0.0307, 0.000501),
                mc = 10, temp = 5, years = TRUE)

 ## Not run: 
 # Error if initial viability is beyond limits (0-100 %)
 StoragePeriod(initial = 110, final = 95, vcindex = 87, mc = 10, temp = 5)

 # Error if final viability is beyond limits (0-100 %)
 StoragePeriod(initial = 98, final = -5, vcindex = 87, mc = 10, temp = 5)
 
## End(Not run)


 # Warning if moisture content is beyond limits (0-100 %)
 StoragePeriod(initial = 98, final = 95, vcindex = 87, mc = 110, temp = 5)

 # Warning if temperature is beyond limits (-20 to 90 degree C)
 StoragePeriod(initial = 98, final = 95, vcindex = 87, mc = 10, temp = 95)

 # With initial viability 100
 StoragePeriod(initial = 100, final = 95, vcindex = 87, mc = 10, temp = 5,
                years = FALSE)
 StoragePeriod(initial = 100, final = 95, vcindex = 87, mc = 10, temp = 5,
                years = TRUE)

 # With intial viability of 100%, use of PercentAdjust() to avoid extremes
 StoragePeriod(initial = PercentAdjust(100, n = 50), final = 95,
                vcindex = 87, mc = 10, temp = 5, years = FALSE)
 StoragePeriod(initial = PercentAdjust(100, n = 50), final = 95,
                vcindex = 87, mc = 10, temp = 5, years = TRUE)

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