赞
踩
该软件包在疫情爆发的早期阶段通过再生数(R0)实现对传染性的简单估算。此估计需要:
• 先验知识:序列间隔分布,定义为(Gamma)分布的平均值和 标准偏差。通常,这些参数最好从文献中获取。
• 数据:该疾病的每日发病,仅包括确诊和可能的病例。
1.若安装当前稳定的CRAN版本的软件包,请输入:
install.packages("earlyR")
2.若从最新功能和错误修复中受益,请使用以下命令安装开发 包的github版本:
install.packages("devtools")
library(devtools)
install_github("reconhub/earlyR")
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
此示例是入门小插图的简化版本 (请参见以下部分),earlyR与其他软件包一起使用,以评估早期埃博拉病毒病(EVD)爆发的传染性和增长潜力。在这里,我们仅说明如何earlyR根据一些已确认/可能的病例来评估传染性。
在此示例中,我们假设埃博拉病毒病(EVD)暴发小,其先前已确定了序列间隔。我们研究了一个疫情时间数据,为此我们将量化传染性(R),然后使用包裹预测来预测未来的发病率 。
我们认为的虚假数据由具有以下症状发作日期的确诊病例组成:
onset <- as.Date(c("2017-02-04", "2017-02-12", "2017-02-15",
"2017-02-23", "2017-03-01", "2017-03-01",
"2017-03-02", "2017-03-03", "2017-03-03"))
我们假设当前日期是3月21日。我们使用软件包incidence计算每日发病数据:
library(incidence)
today <- as.Date("2017-03-21")
i <- incidence(onset, last_date = today)
i
## <incidence object>
## [9 cases from days 2017-02-04 to 2017-03-21]
##
## $counts: matrix with 46 rows and 1 columns
## $n: 9 cases in total
## $dates: 46 dates marking the left-side of bins
## $interval: 1 day
## $timespan: 46 days
## $cumulative: FALSE
win.graph(width=8,height = 8,pointsize = 8)
plot(i, border = "white")
注:这是确保没有病例最后几天都在这里包括非常重要的。忽略此信息将导致对复制数(R)的高估。
为了估计R,我们需要估计连续间隔的均值和标准差,即主要和次要症状发作日期之间的延迟。在西非EVD爆发期间已对此进行了量化(WHO Ebola Response Team (2014) NEJM 371:1481–1495):
mu <- 15.3 # mean in days days
sigma <- 9.3 # standard deviation in days
get_R然后,该函数用于估计R的最可能值:
library(earlyR)
res <- get_R(i, si_mean = mu, si_sd = sigma)
res
## /// Early estimate of reproduction number (R) // ## // class: earlyR, list ## ## // Maximum-Likelihood estimate of R ($R_ml): ## [1] 1.021021 ## ## ## // $lambda: ## 0.01838179 0.0273192 0.03514719 0.0414835 0.04623398 0.04946402... ## ## // $dates: ## [1] "2017-02-05" "2017-02-06" "2017-02-07" "2017-02-08" "2017-02-09" ## [6] "2017-02-10" ## ... ## ## // $si (serial interval): ## A discrete distribution ## name: gamma ## parameters: ## shape: 2.70655567117586 ## scale: 5.65294117647059
plot(res)
第一张图显示了R的可能值的分布以及最大似然(ML)估计。
要导出此分布的其他统计信息,
我们可以sample_R用来获取可能的R值的大样本,然后计算该样本的统计信息
R_val <- sample_R(res, 1000)
summary(R_val) # basic stats
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.2202 0.8784 1.1011 1.1589 1.4014 2.8228
quantile(R_val) # quartiles
## 0% 25% 50% 75% 100%
## 0.2202202 0.8783784 1.1011011 1.4014014 2.8228228
quantile(R_val, c(0.025, 0.975)) # 95% credibility interval## 2.5% 97.5%
## 0.5500501 2.0022523
hist(R_val, border = "grey", col = "navy",
xlab = "Values of R",
main = "Sample of likely R values")
最后,我们还可以使用以下方法来表示一段时间内的传染性:
plot(res, "lambdas", scale = length(onset) + 1)
abline(v = onset, lwd = 3, col = "grey")
abline(v = today, col = "blue", lty = 2, lwd = 2)
points(onset, seq_along(onset), pch = 20, cex = 3)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。