This repository contains instructions, data and code for the University of Oxford MSc in International Health and Tropical Medicine inaugural Hackathon 2023. The Hackathon 2023 event is part of the MSc course’s lecture series on Open Science and Reproducible Research in R.
Hackathon 2023 caps the students’ introduction to Open Science and Reproducible Research in R through an actual global health project within which they are to serve as researchers/data scientists. This exercise aims to provide the students a platform from which to apply skills in working with data using R that they have been learning and practicing for about the past 6 weeks while at the same time exposing them to a collaborative team environment
Hackathon 2023 is structured as a problem-based learning exercise, a format that the course students are already familiar with given similar approaches done for other lectures. Briefly, this PBL exercise presents the problem first rather than teaching relevant material and subsequently having students apply the knowledge to solve the problem. Whilst the previous lectures in the Open Science and Reproducible Research in R series have provided foundational skills in R, the PBL approach for this hackathon will challenge the students to further explore and learn the extensive functionalities R has to offer in order to appropriately solve the problem/s they have been given to solve. This PBL is group-orientated and simulates a collaborative research/data science working environment facilitated through the use of git and GitHub.
Through this approach, the students are expected to:
-
Examine and define the problem.
-
Explore what they already know about underlying issues related to it.
-
Determine what they need to learn and where they can acquire the information and tools necessary to solve the problem.
-
Evaluate possible ways to solve the problem.
-
Solve the problem.
-
Report on their findings.
The case study along with the hackathon rules are presented here - https://oxford-ihtm.io/ihtm-hackathon-2023/case_study.html.
-
renv/
contains the project-specific R package library created by the{renv}
package (see section below on Reproducibility for details) -
renv.lock
is the file created by the{renv}
package that lists out the various packages used in this project (see section below on Reproducibility for details) -
data/
contains the coverage assessment dataset callednutrition_survey_dataset.csv
-
R/
contains functions created or that will be created for use in this project
Currently, this folder contains an R file called get_data.R
. This file
specifies a function called get_data()
which retrieves and processes
the data for this hackathon. It also saves this dataset as a CSV file
called nutrition_survey_dataset.csv
in the data
folder.
-
outputs/
contains figures, intermediate or final results tables, and other outputs -
docs/
contains compiled reports produced from R Markdown documents
Currently, this folder contains the file case_study.html
which is the
HTML output of case_study.Rmd
(see below) which details the case study
and the rules for this hackathon
-
case_study.Rmd
is the R Markdown file that produces thecase_study.html
file found in theoutputs
folder -
coverage_assessment.R
is the R workflow script for the coverage assessment analysis -
coverage_assessment_report.Rmd
is the R Markdown for the coverage assessment report
This project requires R version 4.2.2. This project uses the {renv}
framework to record R package dependencies and versions. Packages and
versions used are recorded in renv.lock
and code used to manage
dependencies is in the renv/
directory.
To work on this project, please follow these steps:
-
Clone this project onto your local machine. Instructions on how this is done can be found here.
-
Run
renv::restore()
to install R package dependencies.
Once all R package dependencies have been installed, you should be able to work on this hackathon project. Please ensure that before making any changes and contributions, create a new local branch from main (see here for instructions on how to create a new branch)
Unless otherwise specified, data used in this repository are licensed under a CC0 1.0 Universal license.
All code in this repository are licensed under a GNU General Public License 3 (GPL-3) license.