当前位置:   article > 正文

earlyR 包的介绍和使用方法_earlyr安装包

earlyr安装包

earlyR 包的介绍和使用方法

该软件包在疫情爆发的早期阶段通过再生数(R0)实现对传染性的简单估算。此估计需要:
• 先验知识:序列间隔分布,定义为(Gamma)分布的平均值和 标准偏差。通常,这些参数最好从文献中获取。
• 数据:该疾病的每日发病,仅包括确诊和可能的病例。

安装软件包

1.若安装当前稳定的CRAN版本的软件包,请输入:

install.packages("earlyR")
  • 1

2.若从最新功能和错误修复中受益,请使用以下命令安装开发 包的github版本:

install.packages("devtools")
library(devtools)
install_github("reconhub/earlyR")
  • 1
  • 2
  • 3

它的作用

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  • get_R:根据发病率数据估算R以及随着时间推移感染力的功能;输出是类的对象earlyR
  • sample_R:获取可能的R值样本的函数
  • plot:用于可视化earlyR对象(R或感染力)的功能
  • points:使用earlyR对象将感染力添加到现有地块的功能。

举例

此示例是入门小插图的简化版本 (请参见以下部分),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"))
  • 1
  • 2
  • 3

我们假设当前日期是3月21日。我们使用软件包incidence计算每日发病数据:

library(incidence)
today <- as.Date("2017-03-21")
i <- incidence(onset, last_date = today)
i
  • 1
  • 2
  • 3
  • 4
## <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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
win.graph(width=8,height = 8,pointsize = 8)
plot(i, border = "white")
  • 1
  • 2

在这里插入图片描述注:这是确保没有病例最后几天都在这里包括非常重要的。忽略此信息将导致对复制数(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
  • 1
  • 2

get_R然后,该函数用于估计R的最可能值:

library(earlyR)

res <- get_R(i, si_mean = mu, si_sd = sigma)
res
  • 1
  • 2
  • 3
  • 4
## /// 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
plot(res)
  • 1

在这里插入图片描述
第一张图显示了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")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述
最后,我们还可以使用以下方法来表示一段时间内的传染性:

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)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/519173
推荐阅读
相关标签
  

闽ICP备14008679号