COVID-19 in South Korea

Covid-19 Vaccines

COVID-19 situation in Korea

Yiru Wang , true
09-16-2021

Introduction And Motivation

Korea, or the Korean peninsula, is an Asian country. Since 1945 it has been divided into two parts, which soon became two sovereign states: Korea and South Korea. South Korea consists of the Korean peninsula, the island of Jeju and several small islands off the peninsula. It is bordered by China to the northwest and Russia to the northeast. It is separated from Japan through to the east by the Korean Strait and the Sea of Japan.(Wikipedia contributors, 2021)

China, Japan and Korea are often mentioned together. As a Chinese, I am curious about the development of the epidemic in neighbouring countries, so let’s explore together next.

Data description

In this blog, I will use one dataset, owid-covid-data.csv to explore the development of covid-19 in Russia. This data from our world data website.

The owid-covid-data.csv shows the daily development of new coronary pneumonia worldwide, including cases, deaths, vaccine numbers and other relevant data.

Show code
world_covid19 <- readr::read_csv('https://raw.githubusercontent.com/owid/covid-19-data/master/public/data/owid-covid-data.csv')
world1_covid19<- world_covid19%>%
  select("iso_code","location","date","total_cases","new_cases","new_cases_smoothed","total_cases_per_million","total_deaths","new_deaths","new_deaths_smoothed","total_tests","new_tests_smoothed","total_tests_per_thousand","total_vaccinations","new_vaccinations_smoothed","people_fully_vaccinated")%>%
  filter(date == '2020-01-31'|date =='2020-02-28'|date =='2020-03-31'|date =='2020-04-30'|date =='2020-05-31'|date =='2020-06-30'|date =='2020-07-31'|date =='2020-08-31'|date =='2020-09-30'|date =='2020-10-31'|date =='2020-11-30'|date =='2020-12-31'|date =='2021-01-31'|date =='2021-02-28'|date =='2021-03-31'|date =='2021-04-30'|date =='2021-05-31'|date =='2021-06-30'|date =='2021-07-31'|date =='2021-08-31')%>%
  filter(!location == "World")%>%
  filter(!location == "Asia")%>%
  filter(!location == "Europe")%>%
  filter(!location == "North America")%>%
  filter(!location == "South America")%>%
  filter(!location == "European Union")%>%
  mutate(date = as.character(date))%>%
  mutate(total_cases = as.integer(total_cases))
Show code
description <- data.frame(Variable = c("iso_code","location","date","total_cases","total_deaths","total_tests","total_vaccinations","people_fully_vaccinated"),
                          Class = c("character","character","date", "double", "double", "double","double","double"),
                          Description = c("  ISO 3166-1 alpha-3 – three-letter country codes","Geographical location","Date of observation","Total confirmed cases of COVID-19","Total deaths attributed to COVID-19","Total tests for COVID-19","Total number of COVID-19 vaccination doses administered","Total number of people who received all doses prescribed by the vaccination protocol"))
 knitr::kable(description, booktabs = TRUE,
  caption = "Detail of each variable")%>% 
  kable_styling(bootstrap_options = c("striped", "hover"))
Table 1: Detail of each variable
Variable Class Description
iso_code character ISO 3166-1 alpha-3 – three-letter country codes
location character Geographical location
date date Date of observation
total_cases double Total confirmed cases of COVID-19
total_deaths double Total deaths attributed to COVID-19
total_tests double Total tests for COVID-19
total_vaccinations double Total number of COVID-19 vaccination doses administered
people_fully_vaccinated double Total number of people who received all doses prescribed by the vaccination protocol

Data stories

Outbreak status in Asia and Korea

Show code
fig <- world1_covid19 %>%
  plot_ly(frame = ~date, 
          type='choropleth', 
          locations=world1_covid19$iso_code,   
          z=world1_covid19$total_cases, 
            zmin = 0,
            zmax = 500000,
            text=world1_covid19$location, 
            color= ~'tolal_cases',
            colorscale = "Electric")%>%
  layout(geo = list(scope = 'asia'),title = "Number of confirmed cases of New Coronary Pneumonia in Asia")
fig

The graph above shows the change in the number of confirmed cases of COVID-19 in Asia since records began, and we can see that Korea is not the worst in terms of the number of confirmed cases, which has remained within 30,000. What about the number of deaths? The graph below shows the change in the number of deaths due to COVID-19 in Asia over time.

Show code
fig2 <- world1_covid19 %>%
  plot_ly(frame = ~date, 
          type='choropleth', 
          locations=world1_covid19$iso_code,   
          z=world1_covid19$total_deaths, 
            zmin = 0,
            zmax = 10000,
            text=world1_covid19$location, 
            color= ~'tolal_deaths',
            colorscale = "Electric")%>%
  layout(geo = list(scope = 'asia'),title = "Deaths from New Coronary Pneumonia in Asia")
fig2

As can be seen from the chart above, the number of deaths in Korea is actually at a lower level compared to countries with large populations such as India, but the population base has an impact on our judgement. The chart below shows the number of confirmed new crowns in Korea itself over time.

Show code
korea<-world_covid19%>%
  filter(location == "South Korea")%>%
  filter(!is.na(total_cases))
Show code
cases <- korea %>% 
  ggplot(aes(x = date)) +
  geom_area(aes(y = total_cases), fill = "violet")+
  labs(x = "Date",
       y = "Number of total cases")+
   ggtitle("Daily Case Change in Korea")+
   annotate("text",
           x = as.Date("2021-02-02"),
           y = 300000,
           label = "total cases",
           color=  "purple") +
  scale_x_date(date_breaks = "90 days",date_labels = "%Y-%m-%d")+
  theme(panel.background = element_rect(fill ="#FFE4E1"))+
  theme(axis.text.x = element_text(angle=20, hjust = 1)) +
  transition_reveal(date)

animate(plot = cases, 
        renderer = gifski_renderer(),
        fps = 20)
Show code
anim_save("cases.gif")

As we can see, the epidemic situation in South Korea is becoming more and more serious, especially after July this year, and the trend of new cases is becoming more and more rapid, with more than 250,000 people diagnosed so far. What about the death toll in South Korea?

Show code
deaths <- korea %>% 
  ggplot(aes(x = date)) +
  geom_area(aes(y = total_deaths), fill = "powderblue")+
  labs(x = "Date",
       y = "Number of total deaths")+
   ggtitle("Daily deaths Change in Korea")+
   annotate("text",
           x = as.Date("2021-02-02"),
           y = 2380,
           label = "total deaths",
           color=  "darkcyan") +
  scale_x_date(date_breaks = "90 days",date_labels = "%Y-%m-%d")+
  theme(axis.text.x = element_text(angle=20, hjust = 1)) +
  theme(panel.background = element_rect(fill ="#FFE4E1"))+
  transition_reveal(date)

animate(plot = deaths, 
        renderer = gifski_renderer(),
        fps = 20)
Show code
anim_save("deaths.gif")

The graph above shows the daily changing death toll in South Korea, and we can see that the rate of increase in deaths in South Korea has a significant acceleration from December 2020 to February 2021, before levelling off again. But overall it is in a constant state of growth with no clear signs of slowing down and the number of deaths has now exceeded.

Covid-19 test and vaccination status in Korea

We already know the status of the epidemic in South Korea, so how is the Korean government responding to it? The chart below shows the number of COVID-19 tests in South Korea.

Show code
ggplotly(korea %>%
  filter(!is.na(total_tests))%>%
  ggplot()+
  geom_line(aes(date,total_tests),color = "skyblue")+
  ggtitle("COVID-19 test status in Korea")+
   theme(panel.background = element_rect(fill ="#FFE4E1")))

We can see that the government has been active in testing and the number of tests has accelerated significantly since December 2020, corresponding to the outbreak in December 2020 mentioned above which shows that the government is actively responding to the outbreak.

Despite the increased number of tests, it is the vaccine that is the most powerful weapon in the fight against the epidemic. What is the situation with vaccines in Korea?

Show code
ggplotly(korea %>%
  ggplot()+
  geom_area(aes(date,people_vaccinated),fill = "#CCCCFF")+
  geom_area(aes(date,people_fully_vaccinated),fill = "#9F88FF")+
  geom_line(aes(date,people_vaccinated),color = "#9999FF")+
  geom_line(aes(date,people_fully_vaccinated),color = "#9955FF")+
  ggtitle("Vaccine situation in Korea")+
   theme(panel.background = element_rect(fill ="#FFE4E1")))

The graph above shows the vaccination situation in Korea and we can see that vaccination in Korea started in February 2021 with slow progress in the early stages and accelerated rapidly after May 2021, with over 20 million people fully vaccinated as of September 13, 2021.

In comparison to what has been mentioned before, we can see that the increase in cases and deaths has slowed down significantly since the vaccination started. The acceleration of the increase in cases at a later stage is, I believe, the result of the new virus Delta.

Reference

Textual references

Wikipedia contributors. (2021, September 14). Korea. Wikipedia. https://en.wikipedia.org/wiki/Korea

Packages

C. Sievert. Interactive Web-Based Data Visualization with R, plotly, and shiny. Chapman and Hall/CRC Florida, 2020.

Garrett Grolemund, Hadley Wickham (2011). Dates and Times Made Easy with lubridate. Journal of Statistical Software, 40(3), 1-25. URL https://www.jstatsoft.org/v40/i03/.

Hadley Wickham, Romain François, Lionel Henry and Kirill Müller (2021). dplyr: A Grammar of Data Manipulation. R package version 1.0.7. https://CRAN.R-project.org/package=dplyr

Hao Zhu (2021). kableExtra: Construct Complex Table with ‘kable’ and Pipe Syntax. R package version 1.3.4. https://CRAN.R-project.org/package=kableExtra

R Core Team (2021). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/.

Thomas Lin Pedersen and David Robinson (2020). gganimate: A Grammar of Animated Graphics. R package version 1.0.7. https://CRAN.R-project.org/package=gganimate

Wickham et al., (2019). Welcome to the tidyverse. Journal of Open Source Software, 4(43), 1686, https://doi.org/10.21105/joss.01686

Data source

Our World in Data. 2021. COVID-19 Data Explorer. [online] Available at: https://ourworldindata.org/explorers/coronavirus-data-explorer [Accessed 10 September 2021].