0% found this document useful (0 votes)
20 views18 pages

COVID-19 Dataset Analysis Project Report

The Mini Project Report on the 'Novel Corona Virus 2019 Dataset' details the analysis of COVID-19 data to provide insights into its spread and impact. The project utilizes statistical methods and machine learning for exploratory data analysis and predictive modeling, aiming to assist policymakers and health organizations. The report includes a structured approach to data handling, analysis, and visualization, highlighting the importance of data-driven decision-making in pandemic management.

Uploaded by

apratham654
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views18 pages

COVID-19 Dataset Analysis Project Report

The Mini Project Report on the 'Novel Corona Virus 2019 Dataset' details the analysis of COVID-19 data to provide insights into its spread and impact. The project utilizes statistical methods and machine learning for exploratory data analysis and predictive modeling, aiming to assist policymakers and health organizations. The report includes a structured approach to data handling, analysis, and visualization, highlighting the importance of data-driven decision-making in pandemic management.

Uploaded by

apratham654
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

A MINI PROJECT REPORT

On
“Novel Corona Virus 2019 Dataset”
Submitted in partial fulfillment of the requirements of the degree

BACHELOR OF ENGINEERING IN COMPUTER


ENGINEERING

By

Prathmesh M. Aghor (169/122CP3265A)


Aruna V. Arjun (178/122CP3141B)
Sairaj B. Kale (152/123CP3068A)

Under the guidance of

Prof. Vrushali Thakur

Department of Computer Engineering


MGM’s College of Engineering and Technology,
Kamothe, Navi Mumbai- 410209
University of Mumbai (AY 2025-26)
CERTIFICATE

This is to certify that the Mini Project entitled “Novel Corona Virus 2019 Dataset” is bonafi
de work of Prathmesh M. Aghor(104/121CP3265A), Aruna V. Arjun (178/122CP3141B),
Sairaj B. Kale(152/123CP3068A) submitted to the University of Mumbai in partial fulfillm
ent of the requirement for the award of the degree of “Bachelor of Engineering” in “Compu
ter Engineering”.

(Prof. Vrushali Thakur)


Guide

( Dr. Rajesh Kadu ) ( Dr. Geeta Lathkar )


Head of Department Director
Mini Project Approval

This Mini Project entitled “Novel Corona Virus 2019 Dataset” by is approved for the
degree of Bachelor of Engineering in Computer Engineering.

Examiners

1…………………………………..

(Internal Examiner Name & Sign)

2…………………………………
(External Examiner Name & Sign)

Date:
Place:
Contents

Abstract i
Acknowledgments ii

1 Introduction 07
1.1 Introduction
1.2 Background
1.3 General Objective
1.4 Scope of Study

2 Literature Survey 08
2.1 Survey of Existing System
2.2 Mini Project Contribution

3 Proposed System 09
3.1 Introduction
3.2 System Design
3.3 Implementation
3.4 Results for Validation and Verification
3.5 Conclusion 21

4 References 22

• Annexure
ABSTRACT
The Novel Coronavirus (COVID-19), first identified in late 2019, rapidly
escalated into a global pandemic, creating an urgent need for reliable data-
driven insights. The Novel Coronavirus 2019 Dataset offers structured and
continuously updated records of confirmed cases, deaths, and recoveries across
different regions.

This project leverages the dataset to perform exploratory data analysis, time-
series forecasting, and predictive modeling using statistical methods and
machine learning algorithms. By examining temporal and spatial patterns, the
study seeks to forecast future case growth, assess mortality trends, and evaluate
the impact of interventions.

The results provide actionable insights for policymakers and health


organizations, while also demonstrating the effectiveness of data science and
machine learning in tackling large-scale global challenges.
ACKNOWLEDGMENTS

The satisfaction that accompanies that the successful completion of any task
would be incomplete without the mention of people whose ceaseless
co-operation made it possible, whose constant guidance and encouragement
crown all effort with success.
We are greatly indebted to our Director Geeta Lathkar for all her
encouragement, support and facilities provided in college that gave us enough
enthusiasm, confidence and strength in getting this project to its present stage.
Developing a project is not an easy task. Nothing of this project is possible with
out respected H.O.D. Dr Rajesh Kadu for encouraging us and giving this oppo
rtunity to widen our knowledge by this project. We give her special thanks from
the depth of our heart.
We are also thank you to our project guide Prof. Vrushali Thakur
for guiding us in our project.

We also thank our colleagues who have helped in successful completion of the
project.
1. INTRODUCTION

1.1 Background

Data plays a crucial role in managing pandemics, offering insights into infection
trends, mortality rates, and regional differences. The COVID-19 dataset,
compiled from verified global sources, allows for an in-depth exploration of the
virus’s spread over time and space. By analyzing this dataset, it is possible to
identify hotspots, evaluate the effectiveness of health interventions, and forecast
future outbreaks. Such analysis not only helps in managing the current crisis but
also contributes to preparedness for future pandemics by building predictive
models and strategies based on real-world evidence.

1.2 Purpose

The primary purpose of this study is to analyze the Novel Coronavirus 2019
Dataset in order to uncover meaningful insights into the spread, severity, and
control of the pandemic. Through systematic exploration and visualization of
the data, the project seeks to provide a clearer understanding of how COVID-19
evolved globally and how data-driven approaches can support decision-making
during health emergencies.

1.3.1 General Objective

The general objective of this project is to utilize the Novel Coronavirus 2019
Dataset to analyze global and regional trends in confirmed cases, recoveries,
and fatalities, and to develop insights that can aid in understanding the
dynamics of the COVID-19 pandemic.

1.4 Scope of the study

This study focuses on the analysis of the Novel Coronavirus 2019 Dataset,
which contains information on confirmed cases, recoveries, and deaths across
multiple countries and regions. The analysis includes data cleaning, statistical
summaries, visualizations, and in some cases, predictive modeling. The study is
limited to the data provided in the dataset and does not incorporate external
clinical or genetic data. The scope is global, but with the flexibility to highlight
specific regions or countries where notable trends emerge. The findings are
descriptive and predictive in nature, aimed at enhancing understanding of the
pandemic rather than prescribing medical or policy interventions.
2. LITERATURE SURVEY

2.1 Survey of Existing System/SRS

Since the emergence of COVID-19 in late 2019, numerous systems and


platforms have been developed to collect, analyze, and visualize pandemic-
related data. Organizations such as the World Health Organization (WHO),
Johns Hopkins University (JHU) Coronavirus Resource Center, and various
government health portals have provided real-time dashboards to monitor
confirmed cases, deaths, and recoveries worldwide. These systems offer
valuable data for research and policy-making but often focus on real-time
reporting rather than in-depth analytical exploration.

Existing systems primarily provide:

• Daily updates on confirmed cases, recoveries, and fatalities.


• Geographic dashboards highlighting hotspots and affected regions.
• Basic trend analysis using time-series charts and maps.

However, most of these systems have limitations:

• Lack of customized analytical tools for researchers to perform


predictive modeling.
• Limited integration of advanced statistical and machine learning
approaches for forecasting.
• Restricted scope to specific regions or time periods.

This project addresses these gaps by using the Novel Coronavirus 2019 Dataset
to conduct detailed exploratory analysis, visualization, and (optionally)
predictive modeling to uncover deeper insights into the spread and control of
the virus.

2.2 Mini Project Contribution


Prathmesh [Link] (169/122CP3265A) (Implementation, Report Making)
Aruna V. Arjun (178/122CP3141B) (Report Making, Testing)
Sairaj B. Kale (152/123CP3068A) (Report Making, Testing)
3. PROPOSED SYSTEM
3.1 Introduction
The proposed system is designed to analyze the Novel Coronavirus 2019
Dataset to uncover meaningful insights about the spread, trends, and patterns of
COVID-19. Unlike existing systems, which are primarily focused on real-time
dashboards, this project emphasizes data preprocessing, exploratory analysis,
visualization, and predictive modeling. The system provides a structured
approach for handling large datasets, generating statistical summaries,
producing visual reports, and (optionally) forecasting future cases using
machine learning techniques. This enables researchers, policymakers, and
students to better understand the pandemic and make informed, data-driven
decisions.

3.2 SYSTEM DESIGN


The system is designed in modular form to simplify execution and ensure
scalability. The design involves:

• Input Layer: Collection and preprocessing of the dataset.


• Processing Layer: Application of statistical analysis, visualization, and
modeling techniques.
• Output Layer: Display of results in the form of graphs, dashboards, and
reports.

Each module is independent yet integrated, making the system flexible for
updates or expansion.
3.3 Implementation
Code :-
#!/usr/bin/env Rscript
# run_analysis.R
# Usage:
# Rscript run_analysis.R <[Link]> [Project_Name]
#
# Example:
# Rscript run_analysis.R novel_corona_virus_2019_dataset.csv
"COVID19_Data_Analysis_Project"

args <- commandArgs(trailingOnly = TRUE)


datafile <- if (length(args) >= 1) args[1] else
"novel_corona_virus_2019_dataset.csv"
PROJECT_NAME <- if (length(args) >= 2) args[2] else "COVID19_Data_Analysis_Project"

# ---- helpers: install & load packages ----


required <- c("ggplot2", "dplyr", "readr", "stringr", "lubridate", "Hmisc")
install_if_missing <- function(pkgs){
to_install <- pkgs[!pkgs %in% [Link]()[, "Package"]]
if (length(to_install)) {
message("Installing missing packages: ", paste(to_install, collapse = ", "))
[Link](to_install, repos = "[Link]
}
}
install_if_missing(required)
suppressPackageStartupMessages({
library(ggplot2)
library(dplyr)
library(readr)
library(stringr)
library(lubridate)
library(Hmisc)

summarize <- dplyr::summarize


})

# ---- create output dirs ----


out_dir <- [Link]("output", PROJECT_NAME)
dirs <- c(out_dir, [Link](out_dir, "plots"), [Link](out_dir, "tables"))
for (d in dirs) if (![Link](d)) [Link](d, recursive = TRUE)

cat("\nProject name:", PROJECT_NAME, "\nReading data file:", datafile, "\n\n")

# ---- read dataset ----


if (![Link](datafile)) stop("Data file not found: ", datafile)
df_raw <- readr::read_csv(datafile, show_col_types = FALSE)
df <- df_raw

# normalize column names to lower for detection


cn <- tolower(names(df))

# helper to find column by possible keywords


find_col <- function(patterns) {
for (p in patterns) {
i <- grep(p, cn)
if (length(i)) return(names(df)[i[1]])
}
return(NA)
}

# Detect common columns


death_col <- find_col(c("death", "deceased", "died"))
age_col <- find_col(c("^age$", "age_yrs", "age_years"))
gender_col <- find_col(c("gender", "^sex$"))
country_col <- find_col(c("country", "location", "nation"))
date_col <- find_col(c("date", "reported_date", "report_date"))
confirmed_col <- find_col(c("confirmed", "cases", "confirmed_cases",
"confirmed_case"))

cat("Detected columns:\n",
" death:", ifelse([Link](death_col), "NONE", death_col), "\n",
" age: ", ifelse([Link](age_col), "NONE", age_col), "\n",
" gender:", ifelse([Link](gender_col), "NONE", gender_col), "\n",
" country:", ifelse([Link](country_col), "NONE", country_col), "\n",
" date:", ifelse([Link](date_col), "NONE", date_col), "\n",
" confirmed:", ifelse([Link](confirmed_col), "NONE", confirmed_col), "\n\n")

# ---- Prepare columns ----


if (![Link](death_col)) {
df <- df %>% mutate(.death_raw = .data[[death_col]])
df <- df %>% mutate(death_num = suppressWarnings([Link](.death_raw)))
df <- df %>% mutate(death_num = ifelse([Link](death_num) & ![Link](.death_raw),
ifelse(tolower([Link](.death_raw))
%in% c("yes","y","true","t","1"), 1,

ifelse(tolower([Link](.death_raw)) %in% c("no","n","false","f","0"), 0, NA)),


death_num))
df <- df %>% mutate(death_dummy = ifelse(![Link](death_num), [Link](death_num
> 0), NA_integer_))
} else {
df$death_dummy <- NA_integer_
}

if (![Link](age_col)) {
df <- df %>% mutate(age_num = suppressWarnings([Link](.data[[age_col]])))
} else {
df$age_num <- NA_real_
}

if (![Link](gender_col)) {
df <- df %>% mutate(gender_norm = tolower([Link](.data[[gender_col]])) %>%
str_trim())
} else {
df$gender_norm <- NA_character_
}

if (![Link](confirmed_col)) {
df <- df %>% mutate(confirmed_num =
suppressWarnings([Link](.data[[confirmed_col]])))
} else {
df$confirmed_num <- NA_real_
}

if (![Link](date_col)) {
df <- df %>% mutate(report_date = lubridate::ymd(.data[[date_col]]))
if (all([Link](df$report_date))) {
df <- df %>% mutate(report_date = lubridate::parse_date_time(.data[[date_col]],
orders = c("ymd","mdy","dmy","Y-m-d")))
}
} else {
df$report_date <- NA
}

# ---- Summary statistics ----


death_rate <- mean(df$death_dummy, [Link] = TRUE)
cat("Overall death rate (fraction):", death_rate, "\n")

age_summary <- tibble(


mean_dead = if (!all([Link](df$age_num)) & any(df$death_dummy==1, [Link]=TRUE))
mean(df$age_num[df$death_dummy==1], [Link]=TRUE) else NA,
mean_alive = if (!all([Link](df$age_num)) & any(df$death_dummy==0, [Link]=TRUE))
mean(df$age_num[df$death_dummy==0], [Link]=TRUE) else NA
)
cat("Mean age (dead):", age_summary$mean_dead, "; Mean age (alive):",
age_summary$mean_alive, "\n")

gender_table <- df %>% filter(![Link](gender_norm)) %>%


mutate(gender_group = ifelse(grepl("^m", gender_norm), "male",
ifelse(grepl("^f", gender_norm), "female",
gender_norm))) %>%
group_by(gender_group) %>%
summarize(n = n(), deaths = sum(death_dummy==1, [Link] = TRUE),
death_rate = deaths / n) %>% arrange(desc(n))
cat("Death rates by gender:\n"); print(gender_table)

top_countries <- tibble()


if (![Link](country_col) && !all([Link](df$confirmed_num))) {
top_countries <- df %>%
filter(![Link](.data[[country_col]])) %>%
mutate(country = .data[[country_col]]) %>%
group_by(country) %>%
summarize(total_confirmed = sum(confirmed_num, [Link] = TRUE),
total_records = n(),
total_deaths = sum(death_dummy==1, [Link] = TRUE)) %>%
arrange(desc(total_confirmed)) %>%
slice_head(n = 10)
cat("Top countries by confirmed cases (top 10):\n"); print(top_countries)
}

readr::write_csv(tibble(overall_death_rate = death_rate), [Link](out_dir,


"overall_death_rate.csv"))
if (![Link](age_summary$mean_dead)) readr::write_csv(age_summary, [Link](out_dir,
"age_summary.csv"))
if (nrow(gender_table)>0) readr::write_csv(gender_table, [Link](out_dir,
"gender_summary.csv"))
if (nrow(top_countries)>0) readr::write_csv(top_countries, [Link](out_dir,
"top_countries.csv"))

library(ggplot2)
if (!all([Link](df$age_num))) {
p_age <- ggplot(df, aes(x = age_num)) +
geom_histogram(bins = 30, [Link] = TRUE) +
labs(title = paste(PROJECT_NAME, "- Age distribution"), x = "Age", y = "Count")
ggsave(filename = [Link](out_dir, "plots", "age_distribution.png"), plot =
p_age, width = 8, height = 5)
}

if (nrow(gender_table)>0) {
p_gender <- ggplot(gender_table, aes(x = gender_group, y = death_rate)) +
geom_col() + labs(title = paste(PROJECT_NAME, "- Death rate by gender"), x =
"Gender", y = "Death rate")
ggsave(filename = [Link](out_dir, "plots", "death_rate_by_gender.png"), plot =
p_gender, width = 6, height = 5)
}

if (nrow(top_countries)>0) {
p_country <- ggplot(top_countries, aes(x = reorder(country, total_confirmed), y =
total_confirmed)) +
geom_col() + coord_flip() +
labs(title = paste(PROJECT_NAME, "- Top countries by confirmed cases (top
10)"), x = "Country", y = "Total confirmed")
ggsave(filename = [Link](out_dir, "plots", "top_countries_confirmed.png"),
plot = p_country, width = 8, height = 6)
}

if (![Link](date_col) && ![Link](confirmed_col) && nrow(top_countries)>0) {


top5 <- top_countries$country[1:min(5, nrow(top_countries))]
ts_df <- df %>% filter(.data[[country_col]] %in% top5 & ![Link](report_date)) %>%
group_by(country = .data[[country_col]], report_date) %>%
summarize(daily_confirmed = sum(confirmed_num, [Link] = TRUE), .groups = "drop")
if (nrow(ts_df)>0) {
p_ts <- ggplot(ts_df, aes(x = report_date, y = daily_confirmed, color =
country)) +
geom_line() + labs(title = paste(PROJECT_NAME, "- Time series (top
countries)"), x = "Date", y = "Confirmed (daily aggregated)")
ggsave(filename = [Link](out_dir, "plots", "timeseries_top_countries.png"),
plot = p_ts, width = 10, height = 6)
}
}

cat("\nFinished. Results saved in:", normalizePath(out_dir), "\n")


cat("Files:\n")
print([Link](out_dir, recursive = TRUE))

3.4 Result
3.5 Conclusion
The analysis of the Novel Coronavirus 2019 Dataset has provided valuable
insights into the progression and impact of the COVID-19 pandemic across
different countries and regions. By applying systematic data preprocessing,
statistical analysis, and visualization techniques, the study highlighted key
patterns such as infection growth trends, recovery rates, and mortality ratios.
The project also demonstrated the importance of data-driven approaches in
understanding global health crises and supporting timely interventions.

The findings emphasize that accurate and updated data is essential for effective
decision-making, whether in predicting future case trends, evaluating the
effectiveness of preventive measures, or allocating healthcare resources.
Although the dataset has certain limitations, such as incomplete or region-
specific reporting, the overall analysis contributes to a clearer understanding of
the pandemic’s dynamics.

In conclusion, this project not only reinforces the role of data science in
addressing real-world challenges but also provides a foundation for future
research in predictive modeling and pandemic preparedness. The methodologies
applied here can be extended to other datasets and emerging health crises,
enabling researchers and policymakers to develop more effective, evidence-
based strategies.
References
1. World Health Organization (WHO). Coronavirus Disease (COVID-19)
Dashboard. Available at: [Link]
2. Dong, E., Du, H., & Gardner, L. (2020). An interactive web-based
dashboard to track COVID-19 in real time. The Lancet Infectious
Diseases, 20(5), 533–534.
3. Johns Hopkins University. COVID-19 Data Repository by the Center for
Systems Science and Engineering (CSSE). Available
at:[Link]
4. Kaggle. Novel Coronavirus 2019 Dataset. Available at:
[Link]
dataset
5. Hale, T., Angrist, N., Goldszmidt, R., Kira, B., Petherick, A., Phillips, T.,
& Webster, S. (2021). A global panel database of pandemic policies
(Oxford COVID-19 Government Response Tracker). Nature Human
Behaviour, 5(4), 529–538.
6. Zhou, P., Yang, X., Wang, X., Hu, B., Zhang, L., Zhang, W., & Chen, H.
(2020). A pneumonia outbreak associated with a new coronavirus of
probable bat origin. Nature, 579, 270–273.
7. Statista. COVID-19: Statistics and Research. Available at:
[Link]

You might also like