Peripheral arterial disease (PAD) is a common circulatory problem in which narrowed arteries reduce blood flow to peripheral limbs, often the legs.
It is also likely to be a sign of a more widespread atherosclerosis, and subjects manifesting the disease carry an increased risk for all atherothrombotic events including myocardial infarction, stroke, and cardiac death.
This data contains the results of a Slovene study reported in Blinc et. al (https://www.researchgate.net/publication/304331056_Survival_and_event-free_survival_of_patients_with_peripheral_arterial_disease_undergoing_prevention_of_cardiovascular_disease).
Briefly, the study consists of 742 subjects with a PAD diagnosis. The enrollment time ranges from 1 day to 6.8 years. In this period they were subjected to ‘yearly’ questionnaires, blood tests and treatment regulation. Treatment regulation usually happens within the first 30 days after blood tests, though many experience blood tests and treatment regulation on the same day.
For the purpose of this course, we have altered the original data, to reflect how data collected from electronic health records could look like (more missingness, irregular time points, etc.).
Important endpoints are death, either due to cardiovascular disease (CVD death) or other causes, non-fatal CVD endpoints of infarction and stroke, and patient interventions attributed to the disease such as revascularization procedures.
You will be using the following files, which contain baseline data for each subject, blood measurements, questionnaire data, treatment data, visit dates, and endpoints (see further below for more details on each data set):
baseline_data.csvdiag_data.csvdict_data.csvblood_data.csvquest_data.csvtreat_data.csvevent.csvvisit_date.csvThe data set baseline_data.csv has one row per subject
containing baseline information:
str(baseline_data)
## spc_tbl_ [742 × 4] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ id : num [1:742] 2 3 4 5 6 7 8 9 10 11 ...
## $ sex : chr [1:742] "female" "male" "male" "female" ...
## $ d.birth: Date[1:742], format: "1941-07-14" "1931-10-02" ...
## $ smoking: chr [1:742] "former" "former" "never" "current" ...
## - attr(*, "spec")=
## .. cols(
## .. id = col_double(),
## .. sex = col_character(),
## .. d.birth = col_date(format = ""),
## .. smoking = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
The data set diag_data.csv contains diagnoses and date
of diagnosis for each patient (OBS: if multiple diagnosis, a patient can
appear in multiple rows):
str(diag_data)
## 'data.frame': 1443 obs. of 4 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ id : int 1025 244 1383 615 819 363 598 698 1523 1187 ...
## $ sample_date: chr "1965-11-18" "1966-04-12" "1966-07-26" "1967-04-08" ...
## $ code : chr "DE10" "BZFC8A" "DE10" "BZFC8A" ...
Translations of the diagnosis codes can be found in the
dict_data.csv file.
The data sets blood_data.csv,
quest_data.csv and treat_data.csv contains 1-6
observations per subject, taken at different times in the study.
blood_data.csv contains patient id, the date the sample
was taken and measurements derived from that sample and visit.
treat_data.csv contains patient id, the date the treatment
regulation was determined and indicator variables indicating what
treatments the patients are on. quest_data.csv contains
patient id, the date the questionnaire was answered and questionnaire
answers from patients ranging from 4 (high) to 0 (None).
str(blood_data)
## 'data.frame': 3902 obs. of 18 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ ..record.id : int 2 2 2 2 2 2 3 3 3 3 ...
## $ sample_date : chr "2005-05-12" "2006-08-26" "2007-10-13" "2008-08-25" ...
## $ systolic : int 148 128 170 170 150 122 160 140 120 120 ...
## $ diastolic : int 74 70 70 95 80 72 62 66 50 68 ...
## $ erythrocytes: num 3.99 4.22 NA 4.04 3.8 3.62 4.19 4.41 4.42 4.46 ...
## $ hemoglobin : int 126 133 137 122 114 109 138 140 146 149 ...
## $ hematocrit : num NA 38.4 NA NA NA 31 NA 42 NA NA ...
## $ wbc : num 5.8 4.6 6.2 5.2 5.9 5 5.4 5.1 5.3 5 ...
## $ platelets : int 145 121 191 180 126 133 213 223 196 236 ...
## $ glucose : num 5.6 5.9 6.1 5.4 5.9 6.8 6.4 6.1 6.5 6.3 ...
## $ potassium : num 3.7 4 4.3 3.8 3.8 4.1 5 4.5 4.3 4.3 ...
## $ urea : num NA NA NA NA NA NA NA NA NA NA ...
## $ creatine : int 82 84 94 101 95 106 69 74 79 78 ...
## $ crp : num NA 3.2 NA NA NA 10 3.1 NA NA 3 ...
## $ chol : num 5.57 5.42 5.84 4.78 3.53 4.22 5.71 4.36 5.12 5.04 ...
## $ hdl : num 0.97 1.22 1.26 1.07 1.13 1.21 2.33 1.87 2.57 2.64 ...
## $ ldl : num 3 2.93 3.46 2.63 1.86 2.29 2.36 2.04 2.22 2.27 ...
str(treat_data)
## 'data.frame': 3902 obs. of 10 variables:
## $ X : int 7 8 9 10 11 12 13 14 15 16 ...
## $ record_id : int 2 2 2 2 2 2 3 3 3 3 ...
## $ treat_start_date: chr "2005-06-10" "2006-09-12" "2007-10-15" "2008-09-22" ...
## $ cvscore : num 0.0388 0.0293 0.0787 0.0749 0.0476 ...
## $ aspirin : int 1 1 1 1 1 1 1 1 NA 1 ...
## $ clopridrogel : int 0 0 0 0 0 0 0 0 0 0 ...
## $ anticlot : int 0 0 0 0 0 0 0 0 0 0 ...
## $ ezetimibe : int 0 0 0 0 0 0 0 0 0 0 ...
## $ statins : int 1 1 1 1 1 1 1 1 1 1 ...
## $ ace : int 1 1 NA NA NA NA NA NA NA NA ...
str(quest_data)
## 'data.frame': 3897 obs. of 8 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ id : int 2 2 2 2 2 2 3 3 3 3 ...
## $ date.x : chr "2005-04-03" "2006-09-16" "2007-08-07" "2008-12-11" ...
## $ anxiety : int 3 4 3 2 2 3 3 3 3 3 ...
## $ sleep : int 3 3 1 2 4 2 3 3 3 3 ...
## $ alcohol : int 1 1 1 1 1 1 3 3 2 3 ...
## $ fruit : int 3 3 4 4 4 4 4 4 NA 4 ...
## $ vegetable: int 3 3 3 4 3 4 4 4 4 4 ...
The data set event.csv contain dates of different events
including amputation, death, stroke, and more. This data set will be
used to form a binary outcome for each prediction time point.
str(events)
## 'data.frame': 709 obs. of 5 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ id : int 2 2 5 6 6 6 7 7 8 8 ...
## $ date : chr "2010-05-07" "2011-11-07" "2008-03-31" "2006-07-18" ...
## $ event: chr "malignancy" "other death" "revascularization" "revascularization" ...
## $ type : chr "other" "death" "minor" "minor" ...
The data set visit_date.csv contains dates for visits
during the study (these will be used as prediction time points in our
course):
str(visit_date)
## 'data.frame': 3902 obs. of 3 variables:
## $ X : int 7 8 9 10 11 12 13 14 15 16 ...
## $ id : int 2 2 2 2 2 2 3 3 3 3 ...
## $ visit_date: chr "2005-06-10" "2006-09-12" "2007-10-15" "2008-09-22" ...