# Start the graphics device driver to save all plots in a pdf format
pdf(file = "Example.pdf")
# Get the stage C prostate cancer data from the rpart package
library(rpart)
data(stagec)
# Split the stages into several columns
dataCancer <- cbind(stagec[,c(1:3,5:6)],
gleason4 = 1*(stagec[,7] == 4),
gleason5 = 1*(stagec[,7] == 5),
gleason6 = 1*(stagec[,7] == 6),
gleason7 = 1*(stagec[,7] == 7),
gleason8 = 1*(stagec[,7] == 8),
gleason910 = 1*(stagec[,7] >= 9),
eet = 1*(stagec[,4] == 2),
diploid = 1*(stagec[,8] == "diploid"),
tetraploid = 1*(stagec[,8] == "tetraploid"),
notAneuploid = 1-1*(stagec[,8] == "aneuploid"))
# Remove the incomplete cases
dataCancer <- dataCancer[complete.cases(dataCancer),]
# Load a pre-stablished data frame with the names and descriptions of all variables
data(cancerVarNames)
# Rank the variables:
# - Analyzing the raw data
# - According to the zIDI
rankedDataCancer <- univariateRankVariables(variableList = cancerVarNames,
formula = "Surv(pgtime, pgstat) ~ 1",
Outcome = "pgstat",
data = dataCancer,
categorizationType = "Raw",
type = "COX",
rankingTest = "zIDI",
description = "Description")
# Get a Cox proportional hazards model using:
# - The top 7 ranked variables
# - 10 bootstrap loops in the feature selection procedure
# - The zIDI as the feature inclusion criterion
# - 5 bootstrap loops in the backward elimination procedure
# - A 5-fold cross-validation in the feature selection,
# update, and backward elimination procedures
# - A 10-fold cross-validation in the model validation procedure
# - First order interactions in the update procedure
cancerModel <- crossValidationFeatureSelection(size = 7,
loops = 10,
Outcome = "pgstat",
timeOutcome = "pgtime",
variableList = rankedDataCancer,
data = dataCancer,
type = "COX",
selectionType = "zIDI",
elimination.bootstrap.steps = 5,
trainRepetition = 5,
CVfolds = 10,
interaction = c(1,2))
# Plot the results of the blind test set predictions made at each
# fold of the cross-validation
cancerModelPlot <- plotModels.ROC(cancerModel$Models.testPrediction)
# Shut down the graphics device driver
dev.off()
Run the code above in your browser using DataLab