Description Usage Arguments Details Value References Examples
Before using the getIPD
function to estimate the individual patients records (IPD), the coordinates of the survival
curves exported from the digitized software need to be pretreated.
The preprocess function will do three things.
First,sort the data by time progression and discard any unnecessary points to avoid duplications.
Second, adjust the monotonicity to make sure that the survival rates are non-increasing with time.
Third, split the curve into intervals. For each starting point of an interval, we find the number of patients at risk,
the time at which the number at risk was provided, and the first and the last index of the extracted points coordinates within each time interval.
1 | preprocess(dat,trisk=NULL,nrisk=NULL,totalpts=NULL,maxy=100)
|
dat |
The two columns dataset read by some digitized software programs. The first column should be the times, and the second column should be the survival rates. |
trisk |
A list of times points when the numbers of patients at risk were reported. This often can be found under the x-axis of the KM curve. The default value is NULL. |
nrisk |
A list of the numbers of patients at risk reported at the time points in the trisk vector. This often can be found under the x-axis of the KM curve. The default value is NULL. |
totalpts |
The initial number of patients, with a default value of NULL. However, when both trisk and nrisk are NULL, we need this number for the estimation. |
maxy |
The scale of survival rates. This is 100 when the percentages are provided; 1 when the decimal numbers are provided. |
We recommend using DigitizeIt or ScanIt software to extract
the X,Y coordinates from the scanned Kaplan-Meier images. The coordinates datasets exported from the digitize softwares are either .csv
or .txt files with two columns: the first column is the time, and the second column is the survival rates.
For most of Kaplan-Meier curves, we can also find the numbers of patients at risk at normally 5-10 or more time points under the x-axis. Those time points
and the numbers of patients should be manually input as the form of vectors. However, when those information is not availabe, we can leave the "trisk" and
"nrisk" parameter as "NULL". But the total initial patients number "totalpts" can not be "NULL" in this case.
Sample data can be found in Radiationdata
.
An object of class preprocess containing four components as below.
originaldat: the read-in dataset.
newdat: the two column data after preprocess in the form of (time,survival).
intervalIndex: the table reporting the lower and upper index of the extracted coordinates within each time interval.
endpts: the number of patients remaining at the end of the trial.
Guyot P, Ades AE, Ouwens MJ, Welton NJ. Enhanced secondary analysis of survival data: reconstructing the data from published Kaplan-Meier survival curves. BMC Med Res Methodol.2012; 1:9.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Radiationdata$radio is a dataset exported from ScanIt software ================
radio <- Radiationdata$radio
# Load time points when the patients number at risk reported (in month) =========
trisk <- Radiationdata$trisk
# Load patients number at risk reported at the time points in trisk =============
nrisk.radio <- Radiationdata$nrisk.radio
# Use the trisk and nrisk as input for preprocess and reconstruction ============
pre_radio_1 <- preprocess(dat=Radiationdata$radio, trisk=trisk,
nrisk=nrisk.radio,maxy=100)
est_radio_1 <- getIPD(prep=pre_radio_1,armind=0,tot.events=NULL)
# Output include reconstructed individual patients data =========================
head(est_radio_1$IPD)
# When trisk and nrisk were not available, then we must input ====================
# total number of initial patients ===============================================
pre_radio_2 <- preprocess(dat=Radiationdata$radio, totalpts=213,maxy=100)
est_radio_2 <- getIPD(prep=pre_radio_2,armind=0,tot.events=NULL)
# Output include reconstructed individual patients data ==========================
head(est_radio_2$IPD)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.