You are on page 1of 1

R-BLOGGERS

R news and tutorials contributed by hundreds of R bloggers

HOME ABOUT RSS ADD YOUR BLOG! LEARN R R JOBS CONTACT US

Search R-bloggers.. Go
COVID-19 vaccine “95% e ective”: It
doesn’t mean what you think it Your e-mail here Subscribe

means!
Posted on December 15, 2020 by Learning Machines in R bloggers | 0 Comments

[This article was rst published on R-Bloggers – Learning Machines, and kindly contributed to R-
bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

 Share  Tweet
Most viewed posts (weekly)
COVID-19 has the world more than ever in its grip – but
PCA vs Autoencoders for Dimensionality
there is hope: several vaccines have been developed
Reduction
which promise to deliver “95% e cacy”.
How to Make Stunning Line Charts in R: A
Complete Guide with ggplot2
When people read this many assume that it means that
R at Microsoft
95% of vaccinated persons will be protected from
How to write the rst for loop in R
infection – but that is not true. Even many (science)
5 Ways to Subset a Data Frame in R
journalists get it wrong! If you want to understand what it
COVID-19 vaccine “95% e ective”: It doesn’t
really means, read on!
mean what you think it means!

Let us take the example of the German biotech company R – Sorting a data frame by the contents of a

BioNTech which developed its mRNA vaccine BNT162b2 in column

cooperation with pharmaceutical giant P zer. First of all,


let me make it very clear that this is an extraordinary Sponsors
achievement and I am hopeful that it will prove to be a real game-changer in the ght
against this horrible virus. I stress this because nowadays you cannot be cautious
enough not to be instrumentalized by all kinds of strange people who have an interest in
downplaying this devastating pandemic.

Now, what does a so-called e cacy rate of 95% mean? Let me start by stating what it
doesn’t mean: it doesn’t mean that 95 out of 100 vaccinated persons will be protected
from COVID-19, nor does it mean that it will reduce the severity of the illness in case you
contract the virus despite being vaccinated.

To understand the real meaning let us go through the press release of P zer:

Primary e cacy analysis demonstrates BNT162b2 to be 95% e ective against COVID-


19 beginning 28 days after the rst dose;170 con rmed cases of COVID-19 were
evaluated, with 162 observed in the placebo group versus 8 in the vaccine group

What P zer did was to select about 43,000 voluntary participants where about half
received the vaccine and the other half (= the control group) received only a placebo,
without any active substance. After about a month after the rst dose (i.e. one week
after the second dose), they started to count the number of con rmed COVID-19 cases
for each group: in the placebo group 162 cases were con rmed, whereas in the vaccine
group only 8 cases appeared.

To get to the 95%-number the following calculation was performed:

(1 - 8/162) * 100
## [1] 95.06173

So the 95% is the relative risk-reduction in infections, it doesn’t tell us the absolute
probability of not getting infected despite being vaccinated!

We already covered relative vs. absolute risk reductions (and its dangers) in this blog.
There we saw that personograph plots (also called Kuiper-Marshall plots) are an excellent
way to communicate risks.

Let us start by illustrating the con rmed COVID-19 cases in the placebo (= control) group
for a better manageable group size of 2,500…

library(personograph) # first install from CRAN


## Loading required package: grImport
## Loading required package: grid
## Loading required package: XML

n <- 2500
inf_wo_vac <- 20 / n

data <- list(first = inf_wo_vac, second = 1-inf_wo_vac)


personograph(data, colors = list(first = "red", second = "lightgrey"),
fig.title = "20 of 2500 infected without vaccine",
draw.legend = FALSE, n.icons = n, dimensions = c(25, 100),
plot.width = 0.97)

…and now for the vaccine group of the same size:

inf_w_vac <- 1 / n

data <- list(first = inf_w_vac, second = 1-inf_w_vac)


personograph(data, colors = list(first = "red", second = "lightgrey"),
fig.title = "1 of 2500 infected despite of vaccine",
draw.legend = FALSE, n.icons = n, dimensions = c(25, 100),
plot.width = 0.97)

Our ads respect your privacy. Read our


Privacy Policy page to learn more.

Contact us if you wish to help support R-


bloggers, and place your banner here.
I think that those plots really put matters in perspective.

The main problem is that vaccine studies cannot directly measure what we really want to
know: the e ectiveness of the vaccine in the real world, i.e. how well it protects us from
contracting the disease. Therefore they use e cacy as a proxy instead, i.e. relative risk-
reduction of infections in the two study groups. This can give a good indication of the
order of magnitude of the real-world e ect but is not the same!

So while “95% e ective” indeed does mean something di erent from what most people Recent Posts
think it means let us hope that it translates into a real turning point for the better.
New paper: hares, snow and camou age
Appsilon is Hiring Globally: Remote R Shiny
Related Developers, Front-End, Infrastructure,
Warpspeed con dence How many Covid cases A quiz about a 95% CI Engineering Manager, and More
what is credible? and deaths did UK's fast interpretation in the FDA Advent of 2020, Day 16 – Databricks
Well, it’s election day here vaccine authorization Covid vaccine meeting experiments, models and MLFlow
in America and the last prevent? Personally, I think it was a RStudio Connect 1.8.6 – Administrator Digest
thing in the world I want to The UK approved on great decision of the FDA RStudio Connect 1.8.6 – Deployment API
talk about is politics. Hope December 2nd, as rst to make the material of RStudio Connect 1.8.6 – Python Update
you found a way to vote. country in the world, the their important meeting
RStudio Connect 1.8.6 – Server API
November 3, 2020 emergency use for the Emergency Use
How to track the performance of your blog in
In "R bloggers" authorization (EUA) of December 11, 2020
R?
December 15, 2020 In "R bloggers"
In "R bloggers" Upcoming changes to tidytext: threat of
COLLAPSE
Donate to rOpenSci this Giving Season
 Share  Tweet How many Covid cases and deaths did UK’s
fast vaccine authorization prevent?
How to Make Stunning Line Charts in R: A
To leave a comment for the author, please follow the link and comment on their blog: R- Complete Guide with ggplot2
Bloggers – Learning Machines.
doc2vec in R
R-bloggers.com o ers daily e-mail updates about R news and tutorials about learning R and Why R? Foundation 2020-12-15 04:47:03
many other topics. Click here if you're looking to post or nd an R/data-science job. Advent of 2020, Day 15 – Databricks Spark UI,
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't. Event Logs, Driver logs and Metrics

Jobs for R-users


← Previous post Next post →
Junior Data Scientist / Quantitative economist
Senior Quantitative Analyst
R programmer
Data Scientist – CGIAR Excellence in
Agronomy (Ref No: DDG-
R4D/DS/1/CG/EA/06/20)
Data Analytics Auditor, Future of Audit Lead
@ London or Newcastle

python-bloggers.com
(python/data-science news)

How to deploy a Flask API (the Easiest,


Fastest, and Cheapest way)
LIME vs. SHAP: Which is Better for Explaining
Machine Learning Models?
How to Make Stunning Interactive Maps with
Python and Folium in Minutes
NumPy Hacks for Data Cleansing
Python Dash vs. R Shiny – Which To Choose in
2021 and Beyond
ROC and AUC – How to Evaluate Machine
Learning Models in No Time
How to Perform a Student’s T-test in Python

Full list of contributing R-bloggers

Archives

Select Month

Other sites

Jobs for R-users


SAS blogs

Copyright © 2020 | MH Corporate basic by MH Themes

You might also like