The covid19italy R package provides a tidy format dataset of the 2019 Novel Coronavirus COVID-19 (2019-nCoV) pandemic outbreak in Italy. The package includes the following three datasets:
italy_total
- daily summary of the outbreak on the
national levelitaly_region
- daily summary of the outbreak on the
region levelitaly_province
- daily summary of the outbreak on the
province levelMore information about the package datasets available here, and supporting dashboard available here.
Data source: Italy Department of Civil Protection
You can install the released version of covid19italy from CRAN with:
install.packages("covid19italy")
Or, install the most recent version from GitHub with:
# install.packages("devtools")
::install_github("RamiKrispin/covid19Italy") devtools
While the covid19italy CRAN version
is updated every month or two, the Github (Dev)
version is updated on a daily bases. The update_data
function enables to overcome this gap and keep the installed version
with the most recent data available on the Github version:
library(covid19italy)
update_data()
Note: must restart the R session to have the updates available
data(italy_total)
head(italy_total)
#> date hospitalized_with_symptoms intensive_care total_hospitalized home_confinement cumulative_positive_cases daily_positive_cases recovered death positive_clinical_activity
#> 1 2020-02-24 101 26 127 94 221 0 1 7 NA
#> 2 2020-02-25 114 35 150 162 311 90 1 10 NA
#> 3 2020-02-26 128 36 164 221 385 74 3 12 NA
#> 4 2020-02-27 248 56 304 284 588 203 45 17 NA
#> 5 2020-02-28 345 64 409 412 821 233 46 21 NA
#> 6 2020-02-29 401 105 506 543 1049 228 50 29 NA
#> positive_surveys_tests cumulative_cases total_tests total_people_tested new_intensive_care total_positive_molecular_test total_positive_rapid_antigen_test molecular_test rapid_antigen_test
#> 1 NA 229 4324 NA NA NA NA NA NA
#> 2 NA 322 8623 NA NA NA NA NA NA
#> 3 NA 400 9587 NA NA NA NA NA NA
#> 4 NA 650 12014 NA NA NA NA NA NA
#> 5 NA 888 15695 NA NA NA NA NA NA
#> 6 NA 1128 18661 NA NA NA NA NA NA
library(plotly)
plot_ly(data = italy_total,
x = ~ date,
y = ~home_confinement,
name = 'Home Confinement',
fillcolor = '#FDBBBC',
type = 'scatter',
mode = 'none',
stackgroup = 'one') %>%
add_trace( y = ~ hospitalized_with_symptoms,
name = "Hospitalized with Symptoms",
fillcolor = '#E41317') %>%
add_trace(y = ~intensive_care,
name = 'Intensive Care',
fillcolor = '#9E0003') %>%
layout(title = "Italy - Distribution of Active Covid19 Cases",
legend = list(x = 0.8, y = 0.9),
yaxis = list(title = "Number of Cases"),
xaxis = list(title = "Source: Italy Department of Civil Protection"))
plot_ly(data = italy_total,
x = ~ date,
y = ~ cumulative_positive_cases,
name = 'Active',
fillcolor = '#1f77b4',
type = 'scatter',
mode = 'none',
stackgroup = 'one') %>%
add_trace( y = ~ death,
name = "Death",
fillcolor = '#E41317') %>%
add_trace(y = ~recovered,
name = 'Recovered',
fillcolor = 'forestgreen') %>%
layout(title = "Italy - Distribution of Covid19 Cases",
legend = list(x = 0.1, y = 0.9),
yaxis = list(title = "Number of Cases"),
xaxis = list(title = "Source: Italy Department of Civil Protection"))
%>%
italy_region filter(date == max(date)) %>%
select(region_name, cumulative_positive_cases, recovered, death, cumulative_cases) %>%
arrange(-cumulative_cases) %>%
mutate(region = factor(region_name, levels = region_name)) %>%
plot_ly(y = ~ region,
x = ~ cumulative_positive_cases,
orientation = 'h',
text = ~ cumulative_positive_cases,
textposition = 'auto',
type = "bar",
name = "Active",
marker = list(color = "#1f77b4")) %>%
add_trace(x = ~ recovered,
text = ~ recovered,
textposition = 'auto',
name = "Recovered",
marker = list(color = "forestgreen")) %>%
add_trace(x = ~ death,
text = ~ death,
textposition = 'auto',
name = "Death",
marker = list(color = "red")) %>%
layout(title = "Cases Distribution by Region",
barmode = 'stack',
yaxis = list(title = "Region"),
xaxis = list(title = "Number of Cases"),
hovermode = "compare",
legend = list(x = 0.65, y = 0.9),
margin = list(
l = 20,
r = 10,
b = 10,
t = 30,
pad = 2
))
%>%
italy_province filter(date == max(date), region_name == "Lombardia") %>%
plot_ly(labels = ~province_name, values = ~total_cases,
textinfo="label+percent",
type = 'pie') %>%
layout(title = "Lombardia - Cases Distribution by Province") %>%
hide_legend()
A supporting dashboard for the covid19italy datasets available here.