pkg <- c("knitr")
sapply(pkg, library, character.only=TRUE, logical.return=TRUE)
## knitr 
##  TRUE

VISUALIZING DIFFERENT MODELS - TEMPORAL DISEASE PROGRESS

EXPONENTIAL - ISSUE WITH THIS MODEL, NO COMPONENT RELATED TO THE HEALTHY PLANTS OR TISSUE, HAS NO LIMIT

plotexp <- function(y0,r,maxt){
  curve(
    y0*exp(r*x),
    from=0,
    to=maxt,
    xlab='Time',
    ylab='Disease Incidence',
    col='mediumblue')
}

INITIAL DISEASE = 1.7%, RATE = 0.075, TIME = 100 DAYS

plotexp(0.017, 0.075, 100)

COMPARED WITH DISEASE = 1.7%, RATE = 0.08, TIME = 100 DAYS

plotexp(0.017, 0.08, 100)

LOGISTIC

plotlog <- function(y0,r,maxt){
  curve(
    1/(1+(1-y0)/y0*exp(-r*x)),
    from=0,
    to=maxt,
    xlab='Time',
    ylab='Disease Incidence',
    col='mediumblue'
  )
}

INITIAL DISEASE = 1%, RATE = 0.10 PER DAY, TIME = 120 DAYS

plotlog(0.01, 0.10, 120)
abline(h=0.50)

COMPARED TO A SITUATION WITH INITIAL DISEASE = 0.1%

plotlog(0.001, 0.10, 120)
abline(h=0.50)

GOMPERTZ - SIMILAR SHAPE TO LOGISTIC, BUT THE RATE HITS THE MAXIMUM EARLIER IN THE EPIDEMIC

plotgomp <- function(y0,r,maxt){
  curve(
    exp(log(y0)*exp(-r*x)),
    from=0, to=maxt, xlab='Time',
    ylab='Disease Incidence',
    col='mediumblue'
  )
}

INITIAL INOCULUM = 0.17%, RATE = 0.13, TIME = 100 DAYS

plotgomp(0.0017,0.13, 100)

COMPARED WITH RATE = 0.065

plotgomp(0.0017,0.065, 100)

WEIBULL

COMPONENTS a = UNITS OF TIME, INDICATING TIME OF DISEASE ONSET b = SCALE PARAMETER, INVERSELY RELATED TO THE DISEASE RATE c = UNITLESS SHAPE PARAMETER, CONTROLS THE SKEWNESS OF THE CURVE

plotweib <- function(a,b,c,maxt){
  curve(
    1-exp(-((x-a)/b)^c),
    from=0,
    to=maxt,
    xlab='Time',
    ylab='Disease Incidence',
    col='mediumblue'
  )
}

EXAMPLE 1

plotweib(1, 100, 1.5, 100)

EXAMPLE 2

plotweib(1, 100, 2.5, 100)

EXAMPLE 3

plotweib(1, 100, 3.5, 100)

MONOMOLECULAR

plotmono <- function(y0,r,maxt){
  curve(
    1-(1-y0)*exp(-r*x),
    from=0,
    to=maxt,
    xlab='Time',
    ylab='Disease Incidence',
    col='mediumblue')
}

EXAMPLES WHERE THE INITIAL CHANGES 10x, BUT THE RATE REMAINS THE SAME

plotmono(0.0017, 0.0242, 100)
abline(h=0.5)

plotmono(0.017, 0.0242, 100)
abline(h=0.5)

plotmono(0.17, 0.0242, 100)
abline(h=0.5)