--- title: "Separate 2 groups in Cox regression" author: "André Veríssimo" date: "`r Sys.Date()`" output: BiocStyle::html_document: number_sections: yes toc: true vignette: > %\VignetteEngine{knitr::rmarkdown} %\VignetteIndexEntry{Separate 2 groups in Cox regression} %\VignetteEncoding{UTF-8} --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` ## Instalation ```{r, eval=FALSE} if (!require("BiocManager")) install.packages("BiocManager") BiocManager::install("glmSparseNet") ``` # Required Packages ```{r packages, message=FALSE, warning=FALSE} library(futile.logger) library(ggplot2) library(glmSparseNet) library(survival) # Some general options for futile.logger the debugging package .Last.value <- flog.layout(layout.format('[~l] ~m')) .Last.value <- glmSparseNet:::show.message(FALSE) # Setting ggplot2 default theme as minimal theme_set(ggplot2::theme_minimal()) ``` ## Prepare data ```{r} data('cancer', package = 'survival') xdata <- survival::ovarian[,c('age', 'resid.ds')] ydata <- data.frame( time = survival::ovarian$futime, status = survival::ovarian$fustat ) ``` ## Separate using age as co-variate _(group cutoff is median calculated relative risk)_ ```{r} res.age <- separate2GroupsCox(c(age = 1, 0), xdata, ydata) ``` ### Kaplan-Meier survival results ```{r, echo=FALSE} res.age$km ``` ### Plot A individual is attributed to low-risk group if its calculated relative risk _(using Cox Proportional model)_ is below or equal the median risk. The opposite for the high-risk groups, populated with individuals above the median relative-risk. ```{r, echo=FALSE} res.age$plot ``` ## Separate using age as co-variate _(group cutoff is 40% - 60%)_ ```{r} res.age.40.60 <- separate2GroupsCox(c(age = 1, 0), xdata, ydata, probs = c(.4, .6) ) ``` ### Kaplan-Meier survival results ```{r, echo=FALSE} res.age.40.60$km ``` ### Plot A individual is attributed to low-risk group if its calculated relative risk _(using Cox Proportional model)_ is below the median risk. The opposite for the high-risk groups, populated with individuals above the median relative-risk. ```{r, echo=FALSE} res.age.40.60$plot ``` ## Separate using age as co-variate _(group cutoff is 60% - 40%)_ This is a special case where you want to use a cutoff that includes some sample on both high and low risks groups. ```{r} res.age.60.40 <- separate2GroupsCox( chosen.btas = c(age = 1, 0), xdata, ydata, probs = c(.6, .4), stop.when.overlap = FALSE ) ``` ### Kaplan-Meier survival results ```{r, echo=FALSE} cat('Kaplan-Meier results','\n') res.age.60.40$km ``` ### Plot A individual is attributed to low-risk group if its calculated relative risk _(using Cox Proportional model)_ is below the median risk. The opposite for the high-risk groups, populated with individuals above the median relative-risk. ```{r, echo=FALSE} res.age.60.40$plot ``` # Session Info ```{r sessionInfo} sessionInfo() ```