Learn R Programming

aVirtualTwins

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.

(Very) Quick Preview

# Load data
data(sepsis)
# Format data
vt.obj <- vt.data(dataset         = sepsis,
                  outcome.field   = "survival",
                  treatment.field = "THERAPY",
                  interactions    = TRUE)
# Print Incidences of sepsis data
vt.obj$getIncidences()
# $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.for <- vt.forest(forest.type  = "one",
                    vt.data      = vt.obj,
                    interactions = TRUE,
                    ntree        = 500)
# Second step : find rules in data 
vt.trees <- vt.tree(tree.type = "class",
                    vt.difft  = vt.for, 
                    threshold = quantile(vt.for$difft, seq(.5,.8,.1)),
                    maxdepth  = 2)
# Print results
vt.sbgrps <- vt.subgroups(vt.trees)
knitr::kable(vt.sbgrps)
SubgroupSubgroup sizeTreatement event rateControl event rateTreatment sample sizeControl sample sizeRR (resub)RR (snd)
tree1PRAPACHE>=26.51570.7520.327105522.3001.856
tree3PRAPACHE>=26.5 & AGE>=51.741200.8970.3178422.8941.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.

Help & Documentation

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).

Install

# use devtools library
library(devtools)
# install from github
devtools::install_github("prise6/aVirtualTwins", build_vignettes = TRUE)
# load library
library(aVirtualTwins)

To-do list

  • Link to my simulation
  • Submit to CRAN
  • Use R6 for perfs issues
  • Vignette on-line

News

See NEWS file

Contact

vieille.francois at gmail.com

Copy Link

Version

Install

install.packages('aVirtualTwins')

Monthly Downloads

249

Version

1.0.1

License

GPL-3 | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Francois Vieille

Last Published

February 4th, 2018

Functions in aVirtualTwins (1.0.1)

VT.forest.double

Difft by double random forest
VT.tree.class

Classification tree to find subgroups
VT.tree.reg

Regression tree to find subgroups
aVirtualTwins

aVirtualTwins : An adapation of VirtualTwins method created by Jared Foster.
formatRCTDataset

RCT format for Virtual Twins
VT.forest.one

Difft by one random forest
VT.object

VT.object
vt.forest

Create forest to compute difft
vt.subgroups

Visualize subgroups
VT.predict

VT.predict generic function
VT.tree

Tree to find subgroup
VT.difft

Difference between twins
VT.forest

Difft by Random Forest
sepsis

Clinical Trial for Sepsis desease
vt.data

Initialize virtual twins data
VT.forest.fold

Difft via k random forests
vt.tree

Trees to find Subgroups