est.transdist.temporal: Change in mean transmission distance over time

Description Usage Arguments Value Author(s) References See Also Examples

View source: R/transdistfuncs.r

Description

Estimates the change in mean transmission distance over the duration of the epidemic by running est.trandsdist on all cases occuring up to each time point.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
est.transdist.temporal(
  epi.data,
  gen.t.mean,
  gen.t.sd,
  t1,
  max.sep,
  max.dist,
  n.transtree.reps = 10,
  mean.equals.sd = FALSE,
  theta.weights = NULL,
  parallel = FALSE,
  n.cores = NULL
)

Arguments

epi.data

a three-column matrix giving the coordinates (x and y) and time of infection (t for all cases in an epidemic (columns must be in x, y, t order)

gen.t.mean

mean generation time of the infecting pathogen

gen.t.sd

standard deviation of generation time of the infecting pathogen

t1

time step to begin estimation of transmission distance

max.sep

maximum number of time steps allowed between two cases (passed to the get.transdist.theta function)

max.dist

maximum spatial distance between two cases considered in calculation

n.transtree.reps

number of time to simulate transmission trees when estimating the weights of theta (passed to the est.transdist.theta.weights function, default = 10). Higher values of this parameter cause significant increases in computation time.

mean.equals.sd

logical term indicating if the mean and standard deviation of the transmission kernel are expected to be equal (default = FALSE)

theta.weights

use external matrix of theta weights. If NULL (default) the matrix of theta weights is automatically estimated by calling the est.transdist.theta.weights function

parallel

run time steps in parallel (default = FALSE)

n.cores

number of cores to use when parallel = TRUE (default = NULL, which uses half the available cores)

Value

a numeric matrix containing the point estimate for mean transmission distance for each unique time step of the epidemic and the sample size $n$ used to make the estimate NAs are returned for time steps which contain fewer than three cases

Author(s)

John Giles, Justin Lessler, and Henrik Salje

References

Salje H, Cummings DAT and Lessler J (2016). “Estimating infectious disease transmission distances using the overall distribution of cases.” Epidemics, 17, pp. 10–18. ISSN 1755-4365, doi: 10.1016/j.epidem.2016.10.001.

See Also

Other transdist: est.transdist.bootstrap.ci(), est.transdist.temporal.bootstrap.ci(), est.transdist.theta.weights(), est.transdist(), get.transdist.theta()

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
     
set.seed(123)

# Exponentially distributed transmission kernel with mean and standard deviation = 100
dist.func <- alist(n=1, a=1/100, rexp(n, a)) 

# Simulate epidemic
a <- sim.epidemic(R=2,
                  gen.t.mean=7,
                  gen.t.sd=2,
                  tot.generations=7,
                  min.cases=30,
                  trans.kern.func=dist.func)

a <- a[sample(1:nrow(a), 50),] # subsample a to 50 observations

# Estimate mean transmission kernel over time
b <- est.transdist.temporal(epi.data=a,
                            gen.t.mean=7,
                            gen.t.sd=2,
                            t1=0,
                            max.sep=1e10,
                            max.dist=1e10,
                            n.transtree.reps=5,
                            mean.equals.sd=TRUE,
                            n.cores=2)
b

plot(b[,2], pch=19, col='grey', ylim=c(min(b[,2], na.rm=TRUE), max(b[,2], na.rm=TRUE)), 
     xlab='Time step', ylab='Estimated mean of transmission kernel')
abline(h=100, col='red', lty=2)
axis(3, b[,2])

low <- loess(b[,2] ~ as.vector(1:length(b[,2])))
low <- predict(low, newdata=data.frame(as.vector(1:length(b[,2]))))
lines(low, lwd=3, col='blue')

IDSpatialStats documentation built on Aug. 9, 2021, 9:08 a.m.