knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
A manual to show the R package TippingPoint.
The TippingPoint package aims to handle missing outcome data by listing out all the possible combinations of missing values in two treatment arms, calculating the corresponding estimated treatment effects and p-values, finding the margin (the so-called Tipping Point) that would change the result of the study, and drawing a colored heat-map to visualize them. In addition, the package provides a visualized method to compare various imputation methods by adding the rectangles or convex hulls on the basic plot. Some examples are displayed below to explain the idea.
# Change the width of html file options(width = 150)
# the package can be downloaded from cran and github: # install.packages("TipingPoint") # devtools::install_github("XikunHan/TippingPoint") library(TippingPoint) # Load the dataset data(tippingdata) # Show the first 6 rows of the data head(tippingdata)
## for binary outcome # Using `estimate` TippingPoint(outcome=tippingdata$binary, treat= tippingdata$treat,group.infor=TRUE, plot.type = "estimate",ind.values = TRUE, impValuesT = NA, impValuesC = NA, summary.type = "density", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(0.38,0.4), HistMeanC = c(0.2,0.55)) # Using `p.value` with formula class TippingPoint(binary~treat, data=tippingdata, plot.type = "p.value",ind.values = TRUE, impValuesT = NA, impValuesC = NA, summary.type = "density", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(0.38,0.4), HistMeanC = c(0.2,0.55)) # Using `both` TippingPoint(outcome=tippingdata$binary,treat= tippingdata$treat, plot.type = "both",ind.values = TRUE, impValuesT = NA, impValuesC = NA, summary.type = "density", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(0.38,0.4), HistMeanC = c(0.2,0.55)) # for continuous outcome TippingPoint(continuous~treat, data=tippingdata, group.infor=TRUE, plot.type = "estimate",ind.values = TRUE, impValuesT = NA, impValuesC = NA, summary.type = "density", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(120), HistMeanC = c(131,137)) TippingPoint(outcome=tippingdata$continuous,treat= tippingdata$treat, plot.type = "p.value",ind.values = TRUE, impValuesT = NA, impValuesC = NA, summary.type = "density", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(120), HistMeanC = c(131,137)) TippingPoint(outcome=tippingdata$continuous,treat= tippingdata$treat, plot.type = "both",ind.values = TRUE, impValuesT = NA, impValuesC = NA, summary.type = "density", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(120), HistMeanC = c(131,137))
# Load the imputed dataset data(imputedata) # Show the first 6 rows of the data head(imputedata) ## for binary outcome TippingPoint(outcome=tippingdata$binary, treat= tippingdata$treat, group.infor=TRUE, plot.type = "estimate",ind.values = TRUE, impValuesT = imputedata[,c("MAR_T2","MCAR_T2")], impValuesC = imputedata[,c("MAR_C2","MCAR_C2")], summary.type = "density", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(0.38,0.4), HistMeanC = c(0.2,0.55)) # User-defined colors TippingPoint(outcome=tippingdata$binary,treat= tippingdata$treat, plot.type = "p.value",ind.values = TRUE, impValuesT = imputedata[,c("MAR_T2","MCAR_T2")], impValuesC = imputedata[,c("MAR_C2","MCAR_C2")], impValuesColor = RColorBrewer::brewer.pal(8,"Accent")[5:6], summary.type = "credible.region", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(0.38,0.4), HistMeanC = c(0.2,0.55)) # Using `point.size` and `point.shape` to control the points. TippingPoint(outcome=tippingdata$binary,treat= tippingdata$treat, plot.type = "both",ind.values = TRUE, impValuesT = imputedata[,c("MAR_T2","MCAR_T2")], impValuesC = imputedata[,c("MAR_C2","MCAR_C2")], impValuesColor =c("red","blue"), point.size=0.8,point.shape = 15, summary.type = "convex.hull", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(0.38,0.4), HistMeanC = c(0.2,0.55)) ## for continuous outcome TippingPoint(outcome=tippingdata$continuous, treat= tippingdata$treat, group.infor=TRUE, plot.type = "p.value",ind.values = TRUE, impValuesT = imputedata[,c("MAR_T1","MCAR_T1")], impValuesC = imputedata[,c("MAR_C1","MCAR_C1")], summary.type = "density", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(120), HistMeanC = c(131,137)) # Using `point.size` and `point.shape` to control the points. TippingPoint(outcome=tippingdata$continuous,treat= tippingdata$treat, plot.type = "p.value",ind.values = TRUE, impValuesT = imputedata[,c("MAR_T1","MCAR_T1")], impValuesC = imputedata[,c("MAR_C1","MCAR_C1")], point.size = 0.8, point.shape = 15, summary.type = "credible.region", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(120), HistMeanC = c(131,137)) TippingPoint(outcome=tippingdata$continuous,treat= tippingdata$treat, plot.type = "both",ind.values = TRUE, impValuesT = imputedata[,c("MAR_T1","MCAR_T1")], impValuesC = imputedata[,c("MAR_C1","MCAR_C1")], summary.type = "convex.hull", alpha = 0.95, S=1.5, n.grid = 100, HistMeanT = c(120), HistMeanC = c(131,137))
The TippingPoint package is created based on Liublinska and Rubin's work. For more details:
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.