##########################################
# List of useful epidemiology R packages #
##########################################
# This script uses the p_load() function from pacman R package,
# which installs if package is absent, and loads for use if already installed
# Ensures the package "pacman" is installed
if (!require("pacman")) install.packages("pacman")
# Packages available from CRAN
##############################
::p_load(
pacman
# learning R
############
# interactive tutorials in RStudio Tutorial pane
learnr, # interactive tutorials in R console
swirl,
# project and file management
#############################
# file paths relative to R project root folder
here, # import/export of many types of data
rio, # import/export of multi-sheet Excel workbooks
openxlsx,
# package install and management
################################
# package install/load
pacman, # managing versions of packages when working in collaborative groups
renv, # install from github
remotes,
# General data management
#########################
# includes many packages for tidy data wrangling and presentation
tidyverse, #dplyr, # data management
#tidyr, # data management
#ggplot2, # data visualization
#stringr, # work with strings and characters
#forcats, # work with factors
#lubridate, # work with dates
#purrr # iteration and working with lists
# cleaning linelists
linelist, # assessing missing data
naniar,
# statistics
############
# tables and data cleaning
janitor, # making descriptive and statistical tables
gtsummary, # quickly run statistical tests and summaries
rstatix, # tidy up results from regressions
broom, # likelihood-ratio tests
lmtest,
easystats,# parameters, # alternative to tidy up results from regressions
# see, # alternative to visualise forest plots
# epidemic modeling
###################
# Analysing transmission networks
epicontacts, # Rt estimation
EpiNow2, # Rt estimation
EpiEstim, # Incidence projections
projections, # Make epicurves and handle incidence data
incidence2, # Extra functions for the incidence2 package
i2extras, # Useful epi functions
epitrix, # Discrete delay distributions
distcrete,
# plots - general
#################
#ggplot2, # included in tidyverse
# combining plots
cowplot, # patchwork, # combining plots (alternative)
# color scales
RColorBrewer, # to add additional layers of color schemes
ggnewscale,
# plots - specific types
########################
# diagrams using DOT language
DiagrammeR, # epidemic curves
incidence2, # highlight a subset
gghighlight, # smart labels
ggrepel, # interactive graphics
plotly, # animated graphics
gganimate,
# gis
######
# to manage spatial data using a Simple Feature format
sf, # to produce simple maps, works for both interactive and static maps
tmap, # to add OSM basemap in ggplot map
OpenStreetMap, # spatial statistics
spdep,
# routine reports
#################
# produce PDFs, Word Documents, Powerpoints, and HTML files
rmarkdown, # auto-organization of R Markdown outputs
reportfactory, # powerpoints
officer,
# dashboards
############
# convert an R Markdown script into a dashboard
flexdashboard, # interactive web apps
shiny,
# tables for presentation
#########################
# R Markdown report generation and html tables
knitr, # HTML tables
flextable, #DT, # HTML tables (alternative)
#gt, # HTML tables (alternative)
#huxtable, # HTML tables (alternative)
# phylogenetics
###############
# visualization and annotation of trees
ggtree, # analysis of phylogenetics and evolution
ape, # to visualize phylogenetic files
treeio
)
5 Package đề xuất
Dưới đây là danh sách các package được đề xuất dành cho các công việc dịch tễ học phổ biến trong R. Bạn có thể sao chép code này, chạy nó và tất cả các package này sẽ cài đặt từ CRAN và tải để sử dụng trong phiên làm việc hiện tại. Nếu một package đã được cài đặt, nó sẽ chỉ được gọi ra để sử dụng.
Bạn có thể sửa đổi code với ký hiệu #
để loại bỏ bất kỳ packages nào bạn không muốn.
Chú ý:
- Đầu tiên, cần cài đặt package pacman trước khi chạy đoạn code dưới đây. Bạn có thể thực hiện việc này với lệnh
install.packages("pacman")
. Trong sổ tay này, chúng tôi nhấn mạnh đến hàmp_load()
từ package pacman, sẽ có thể vừa cài đặt package nếu cần và gọi chúng ra để sử dụng trong phiên làm việc. Bạn cũng có thể gọi package đã được cài đặt với lệnhlibrary()
từ base R.
- Trong đoạn code dưới đây, các packages được bao gồm khi cài đặt/gọi thông qua một package khác được trình bày bằng cách thụt lề và dấu thăng. Ví dụ: ggplot2 được liệt kê bên dưới tidyverse.
- Nếu nhiều package có các hàm cùng tên, việc đè lên nhau đè lên nhau có thể xảy ra khi hàm từ package được gọi ra sau sẽ được ưu tiên hơn. Đọc thêm trong chương R cơ bản. Cân nhắc sử dụng package conflicted để quản lý các xung đột tương tự.
- Xem chương R cơ bản mục packages để biết thêm về pacman và ghi đè.
Để xem các phiên bản của R, RStudio và R packages được sử dụng trong quá trình viết cuốn sổ tay này, xem chương Biên tập và ghi chú kỹ thuật.
5.1 Packages từ CRAN
5.2 Packages từ Github
Dưới đây là các lệnh giúp cài đặt trực tiếp packages từ kho lưu trữ trên Github.
- Phiên bản phát triển của epicontacts có khả năng tạo cây lây nhiễm với trục x tạm thời
- Package epirhandbook chứa tất cả các dữ liệu minh họa cho sổ tay này và có thể được sử dụng để tải xuống phiên bản ngoại tuyến của sổ tay.
# Packages to download from Github (not available on CRAN)
##########################################################
# Development version of epicontacts (for transmission chains with a time x-axis)
::p_install_gh("reconhub/epicontacts@timeline")
pacman
# The package for this handbook, which includes all the example data
::p_install_gh("appliedepi/epirhandbook") pacman