Learn R Programming

sensitivityPStrat (version 1.0-6)

sensitivityGBH: Principal stratification sensitivity analysis.

Description

Performs a sensitivity analysis using the method described in Gilbert, Bosch, and Hudgens (2003).

Usage

sensitivityGBH(z, s, y, beta, selection, groupings, empty.principal.stratum, ci = 0.95, ci.method = c("analytic", "bootstrap"), ci.type = "twoSided", custom.FUN = NULL, na.rm = FALSE, N.boot = 100, interval = c(-100, 100), upperTest = FALSE, lowerTest = FALSE, twoSidedTest = TRUE, method = c("ACE", "T1", "T2"), isSlaveMode=FALSE)

Arguments

z
vector; contains the grouping values (e.g., treatment assignment) for each record.
s
vector; indicates whether a record is selected.
y
vector; outcome value. Can be NA for unselected records.
beta
vector; values of the $\beta$ sensitivity parameter. Inf and -Inf are acceptable.
selection
The value of s indicating selection.
groupings
vector of two elements c(g0,g1); describes the possible group values. The first element g0 being the value of z that delineates the first group, the last element g1 being the value of z that delineates the second group.
empty.principal.stratum
vector of two elements c(s0,s1); describes the s values that select the empty principal stratum. If empty.principal.stratum=c(s0,s1), then stratum defined by $S(\var{g0}) = \var{s0}$ and $S(\var{g1}) = \var{s1}$ is the empty stratum. In this example s0 and s1 refer to the two possible values of s. (Note: method only works if $\var{s0} != \var{s1}$).
ci
numeric vector; confidence interval level. Defaults to 0.95
ci.method
character; method by which the confidence interval and variance are calculated. Can be “analytic” or “bootstrap”. Defaults to c("analytic","bootstrap")
ci.type
character vector; type of confidence interval that the corresponding ci element is referring to. Can be “upper”, “lower”, or “twoSided”. Defaults to "twoSided".
custom.FUN
function; function to calculate custom result. mu0, mu1, p0, p1 are available to be used as arguments in the custom function, where $\code{mu0} = E(Y(\var{g0})|S(\var{g0}) = S(\var{g1}) = selected)$, $\code{mu1} = E(Y(\var{g1})|S(\var{g0}) = S(\var{g1}) = selected)$, $\code{p0} = P(S(\var{g0}) = selected)$, and $\code{p1} = P(S(\var{g1}) = selected)$. The custom function must return a single value.
na.rm
logical; indicates whether records that are invalid due to NA values should be removed from the data set.
N.boot
integer; number of bootstrap repetitions that will be run when ci.method includes “bootstrap”.
interval
numeric vector of length 2. Controls the range limits used by optimize to estimate $\alpha$.
lowerTest
logical. Return the lower one sided p-value for returned tests. Defaults to FALSE
upperTest
logical. Return the upper one sided p-value for returned tests. Defaults to FALSE
twoSidedTest
logical. Return a two sided p-value for returned tests. Defaults to TRUE
method
character vector; type of test statistic calculated. Can be one or more of “ACE”, “T1”, or “T2”. Defaults to "ACE". Methods “T1” and “T2” are not implemented if ci.method includes “analytic”.
isSlaveMode
logical. Internal Use only. Used in recursion.

Value

an object of class sensitivity2d.
ACE
vector; $ACE = E(Y(\var{g1}) - Y(\var{g0})|S(\var{g1}) = S(\var{g0}) = \code{selection})$. Vector of the estimated ACE values for specified beta values. Only exists if method includes “ACE”.
ACE.ci
array; confidence interval of ACE determined by quantiles of bootstrap if ci.method includes “bootstrap”. Otherwise calculated using analytic variance with large sample normal approximation. Only exists if method includes “ACE”.
ACE.var
vector; estimated variance of ACE. Only exists if method includes “ACE”.
ACE.p
vector; estimated p-value of ACE. Only exists if method includes “ACE”.
T1
vector; Vector of the estimated T1 test statistic for specified beta values. Only exists if method includes “T1”.
T1.p
vector; estimated p-value of T1. Only exists if method includes “T1”.
T2
vector; Vector of the estimated T2 statistic for specified beta values. Only exists if method includes “T2”.
T2.p
vector; estimated p-value of T2. Only exists if method includes “T2”.
beta
vector; user-specified $\beta$ values
alphahat
vector; estimated values of $\alpha$
Fas0
function; estimator for the empirical distribution function values for y0 in the first group in the always selected principal stratum. $Pr(Y(\var{g0}) <= \var{y0}|s(\var{g1})="\code{selection};" \beta)$="" <="" dd="">
Fas1
function; estimator for the empirical distribution function values for y1 in the second group in the always selected principal stratum. $Pr(Y(\var{g1}) <= \var{y1}|s(\var{g0})="S(\var{g1})" =="" \code{selection};="" \beta)$="" <="" dd="">

Details

Performs a sensitivity analysis estimating the average causal effect among those who would have been selected regardless of treatment assignment (ACE). The method assumes no interference (i.e., potential outcomes of all subjects are unaffected by treatment assignment of other subjects), ignorable (i.e., random) treatment assignment, and monotonicity (i.e., one of the principal strata is empty). ACE is identified by assuming a value of the sensitivity parameter beta, where $exp(\beta)$ has an odds ratio interpretation:

If $\code{empty.principal.stratum}=c(S(\var{g0})=not\ selected, S(\var{g1})=selected)$ then given selected if assigned g0, the odds of being selected if assigned g1 multiplicatively increase $exp(\beta)$ for every 1-unit increase in $Y(\var{g0})$. If $\code{empty.principal.stratum}=c(S(\var{g0})=selected, S(\var{g1})=not\ selected)$ then given selected if assigned g1, the odds of being selected if assigned g0 multiplicatively increase $exp(\beta)$ for every 1-unit increase in $Y(\var{g1})$.

Specifying beta=-Inf or beta=Inf calls sensitivityHHS.

T1 and T2 are rank-based analogs of ACE. See .

References

Gilbert PB, Bosch RJ, and Hudgens MG (2003), “Sensitivity Analysis for the Assessment of Causal Vaccine Effects of Viral Load in HIV Vaccine Trials,” Biometrics 59, 531-541.

See Also

sensitivityHHS, sensitivityJR, sensitivitySGL

Examples

Run this code
data(vaccine.trial)
ans<-with(vaccine.trial,
          sensitivityGBH(z=treatment,s=hiv.outcome,y=logVL,
                    beta=c(0,.25,.5,.75,1,1.25,1.5),
                    selection="infected",
                    groupings=c("placebo","vaccine"),
                    empty.principal.stratum=c("not infected","infected"),
                    N.boot=100)
         )
ans

ans<-with(vaccine.trial,
          sensitivityGBH(z=treatment,s=hiv.outcome,y=logVL,
                    beta=c(-Inf,-1,-0.75,-0.5,-0.25,0,.25,.5,.75,1,Inf),
                    selection="infected",
                    groupings=c("placebo","vaccine"),
                    empty.principal.stratum=c("not infected","infected"),
                    ci.method="bootstrap", ci=c(0.95, 0.9, 0.9),
                    ci.type=c('twoSided', 'upper', 'lower'),
                    custom.FUN=function(mu0, mu1, ...) mu1 - mu0,
                    N.boot=100, method=c("ACE", "T1", "T2"),
                    upperTest=TRUE, lowerTest=TRUE, twoSidedTest=TRUE)
         )
ans

Run the code above in your browser using DataLab