6 R solutions for patient data
A series of independent, self-contained mini examples in R scripts. Most come from questions asked by clinicians. Each is like a stackoverflow Q&A. They are targetted at clinicians or analysts who are relatively new to R. Designed to be modular so that you can use together or in isolation. Encourage you to use Minimal Reproducible Examples (reprex) both to help solve issues yourself and when asking questions of colleagues or on stackoverflow.
updated 2022-06-08
To use, either :
- create a new RStudio project from the repository to view & run the scripts locally
- just copy & paste the code from Github into RStudio
These examples are in early development and are likely to change, please suggest or submit improvements.
(note to authors : this file is created & overwritten by x-create-readme-book.r)
columns-from-measure-names-in-rows-using-pivot_wider.r
create columns from measure names stored in an existing single column and values in another
date-time-formatting.r
convert data to date/time format when it has been read in as just character
diagnoses-per-patients-frequency.r
summarise the frequency of unique diagnoses across patients
diagnosis-count.r
count number of unique diagnoses
diagnosis-name-search-contains.r
search diagnoses to find those that contain one of a number of text fragments
diagnosis-name-search-exact.r
search diagnoses to find those that exactly match one of a number of strings
diagnosis-per-patient-count.r
count number of unique diagnoses per patient - optionally add column to original table
event-count-per-month-year-patient.r
count events per month or year, and patient from a table with columns for patient id and date/time of events
event-duration-per-patient.r
calculate start, end and duration per patient from a table with columns for patient id and date/time of events
event-latest-per-patient.r
retain the latest events per patient from a table with columns for patient id and date/time of event
join-data-by-patient-id.r
join two tables of data for the same patients
measures-summary-per-patient.r
calculate min,max,mean etc. per patient from a table with columns for patient id and measures, and rows per event
missing-data-formatting.r
format missing data values correctly (NA)
missing-data-per-patient-count.r
count number of missing values (NA) per patient
missing-data-per-patient-remove.r
remove missing values OR patients that have at least one missing value (NA)
number-formatting.r
convert data to number format when it has been read in as character (using as.numeric())
patient-count-by-date-from-admission-discharge.r
count the number of patients per date from a table of admission and discharge dates per patient
patient-count.r
count patients when more than one row per patient
replace-patient-id.r
to replace a patient identifier column (e.g. MRN) with an index
x-create-readme-book.r
script to create the readme file for the mini examples