An adaptation of VirtualTwins method from Foster, J. C., Taylor, J. M.G. and Ruberg, S. J. (2011)
VirtualTwins is a method of subgroup identification from randomized clinical trial data.
In 2015, as an intern in a french pharmaceutical group, i worked on this method and develop a package based on Jared Foster and al method.
# Load data
data(sepsis)
# Format data
<- vt.data(dataset = sepsis,
vt.obj outcome.field = "survival",
treatment.field = "THERAPY",
interactions = TRUE)
# Print Incidences of sepsis data
$getIncidences()
vt.obj# $table
# trt
# resp 0 1 sum
# 0 101 188 289
# 1 52 129 181
# sum 153 317 470
# Incidence 0.34 0.407 0.385
#
# $rr
# [1] 1.197059
#
# First step : create random forest model
<- vt.forest(forest.type = "one",
vt.for vt.data = vt.obj,
interactions = TRUE,
ntree = 500)
# Second step : find rules in data
<- vt.tree(tree.type = "class",
vt.trees vt.difft = vt.for,
threshold = quantile(vt.for$difft, seq(.5,.8,.1)),
maxdepth = 2)
# Print results
<- vt.subgroups(vt.trees)
vt.sbgrps ::kable(vt.sbgrps) knitr
Subgroup | Subgroup size | Treatement event rate | Control event rate | Treatment sample size | Control sample size | RR (resub) | RR (snd) | |
---|---|---|---|---|---|---|---|---|
tree1 | PRAPACHE>=26.5 | 157 | 0.752 | 0.327 | 105 | 52 | 2.300 | 1.856 |
tree3 | PRAPACHE>=26.5 & AGE>=51.74 | 120 | 0.897 | 0.31 | 78 | 42 | 2.894 | 1.991 |
## Infos
Currently this package works for RCT with two treatments groups and binary outcome.
Most of the package use Reference Class programing (in R). Feel free to create your own classes.
Of course, subgroup identification in general with two treatment and severals group can be possible.
See wiki tab.
Or:
vignette("full-example", package = "aVirtualTwins")
Or:
Here’s a link to my intern dissertation (french version) La recherche de sous-groupes par Virtual Twins (parts V & VI).
# use devtools library
library(devtools)
# install from github
::install_github("prise6/aVirtualTwins", build_vignettes = TRUE)
devtools# load library
library(aVirtualTwins)
See NEWS file
vieille.francois at gmail.com