Adaptation of Virtual Twins method from Jared Foster
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
prise6 e78be83e6e
Merge pull request #2 from prise6/fix-cran1
il y a 1 an
R fix incidence table il y a 1 an
data Update manual il y a 3 ans
data-raw cran comments il y a 2 ans
man Make example checkable + delete import rpart function il y a 1 an
revdep Add 'rmarkdown' in suggest field + update infos il y a 1 an
vignettes delete toc il y a 2 ans
.Rbuildignore Add 'rmarkdown' in suggest field + update infos il y a 1 an
.gitignore Add 'rmarkdown' in suggest field + update infos il y a 1 an
DESCRIPTION Add infos about Jared Foster il y a 1 an
LICENSE Ajout des fichiers de suivis il y a 2 ans
NAMESPACE Ajout des fichiers de suivis il y a 2 ans
NEWS Add 'rmarkdown' in suggest field + update infos il y a 1 an add e1071 to suggest field il y a 1 an
VirtualTwins.Rproj Change options values il y a 3 ans submission 4 fix table il y a 1 an



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
# Format data
vt.obj <-         = sepsis,
                  outcome.field   = "survival",
                  treatment.field = "THERAPY",
                  interactions    = TRUE)
# Print Incidences of sepsis data
# $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.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)
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


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.


vignette("full-example", package = "aVirtualTwins")


Here’s a link to my intern dissertation (french version) La recherche de sous-groupes par Virtual Twins (parts V & VI).


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

To-do list

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


See NEWS file


vieille.francois at