Skip to content

Why the Sensitivity Analysis For Unmeasured Confounding and the Mediation Analysis are expressed with a different measures of association?  #61

Description

@LudovicoAmbrosi

This is my mediation analysis:

# Set seed for reproducibility
set.seed(123)

# 500 boots are used for illustration
mediation_analysis <- cmest(data = mediator_df, 
model = "gformula", 
exposure = "Treatment_type_tumor_near_gallbladder", 
outcome = "complications", 
mediator = "treatment_approach_Open",
mval = list("Yes"),  # a list specifying a value for each variable in mediator at which the variable is controlled
mreg = list("logistic"), # a list specifying the type of regression model for each variable in mediator
basec = predictors_log_regression, 
EMint = TRUE, # a logical value indicating the existence of exposure-mediator interaction
yreg = "logistic",
yval = list("Yes"), # the value of the outcome at which causal effects on the risk/odds ratio scale are estimated (used when the outcome is categorical
astar = "Resection", # the control value for the exposure. 
a = "MWA", 	 # the active value for the exposure. 
estimation = "imputation", 
inference = "bootstrap", 
nboot = 1000, # Increase to 100 or 200
)

Output:
# Effect decomposition on the odds ratio scale via the g-formula approach
 
Direct counterfactual imputation estimation with 
 bootstrap standard errors, percentile confidence intervals and p-values 
 
               Estimate Std.error  95% CIL 95% CIU P.val  
Rcde            0.28803   0.23732  0.07998   0.892 0.034 *
Rpnde           0.36401   0.21550  0.14060   0.920 0.034 *
Rtnde           0.55629   0.39298  0.20651   1.587 0.264  
Rpnie           0.63179   0.21784  0.29288   1.140 0.140  
Rtnie           0.96551   0.29564  0.55420   1.722 0.840  
Rte             0.35146   0.16038  0.16959   0.803 0.012 *
ERcde          -0.57169   0.23402 -0.95550  -0.060 0.034 *
ERintref       -0.06430   0.12692 -0.25461   0.229 0.682  
ERintmed        0.35566   0.25017 -0.22605   0.742 0.220  
ERpnie         -0.36821   0.21784 -0.70712   0.140 0.140  
ERcde(prop)     0.88150   0.74668  0.10666   1.799 0.038 *
ERintref(prop)  0.09915   0.40216 -0.58888   0.408 0.670  
ERintmed(prop) -0.54839   0.81268 -1.73027   0.426 0.224  
ERpnie(prop)    0.56775   0.68300 -0.28519   1.691 0.148  
pm              0.01936   0.88462 -0.33611   0.735 0.836  
int            -0.44925   0.94900 -2.20855   0.757 0.436  
pe              0.11850   0.74668 -0.79871   0.893 0.694  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Rcde: controlled direct effect odds ratio; Rpnde: pure natural direct effect odds ratio; Rtnde: total natural direct effect odds ratio; Rpnie: pure natural indirect effect odds ratio; Rtnie: total natural indirect effect odds ratio; Rte: total effect odds ratio; ERcde: excess relative risk due to controlled direct effect; ERintref: excess relative risk due to reference interaction; ERintmed: excess relative risk due to mediated interaction; ERpnie: excess relative risk due to pure natural indirect effect; ERcde(prop): proportion ERcde; ERintref(prop): proportion ERintref; ERintmed(prop): proportion ERintmed; ERpnie(prop): proportion ERpnie; pm: overall proportion mediated; int: overall proportion attributable to interaction; pe: overall proportion eliminated)

The estimates are expressed as OR.

However, If I perform the sensitivity analysis, the estimates are expressed as RR.

# Perform the sensitivity analysis
cmsens(mediation_analysis, sens = 'uc') # uc: unmeasured confounding

Output:
Sensitivity Analysis For Unmeasured Confounding 

Evalues on the risk or rate ratio scale: 
          estRR   lowerRR   upperRR Evalue.estRR Evalue.lowerRR Evalue.upperRR
Rcde  0.2880281 0.0799762 0.8915158     6.401405             NA       1.491134
Rpnde 0.3640097 0.1406019 0.9203564     4.938028             NA       1.393169
Rtnde 0.5562854 0.2065078 1.5872507     2.995079             NA       1.000000
Rpnie 0.6317902 0.2928753 1.1399729     2.543254             NA       1.000000
Rtnie 0.9655119 0.5541981 1.7223137     1.228063             NA       1.000000
Rte   0.3514557 0.1695936 0.8030456     5.136700             NA       1.797900

Is it normal or am I doing something wrong?

Thank you for your help.

P.s. The event of my interest is not rare.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions