evalues.OLS: Compute E-value for a linear regression coefficient estimate

Description Usage Arguments Details References Examples

View source: R/EValue.R

Description

Returns a data frame containing point estimates, the lower confidence limit, and the upper confidence limit on the risk ratio scale (through an approximate conversion) as well as E-values for the point estimate and the confidence interval limit closer to the null.

Usage

1
evalues.OLS(est, se = NA, sd, delta = 1, true = 0, ...)

Arguments

est

The linear regression coefficient estimate (standardized or unstandardized)

se

The standard error of the point estimate

sd

The standard deviation of the outcome (or residual standard deviation); see Details

delta

The contrast of interest in the exposure

true

The true standardized mean difference to which to shift the observed point estimate. Typically set to 0 to consider a null true effect.

...

Arguments passed to other methods.

Details

This function is for linear regression with a continuous exposure and outcome. Regarding the continuous exposure, the choice of delta defines essentially a dichotomization in the exposure between hypothetical groups of subjects with exposures equal to an arbitrary value c versus to another hypothetical group with exposures equal to c + delta. Regarding the continuous outcome, the function uses the effect-size conversions in Chinn (2000) and VanderWeele (2017) to approximately convert the mean difference between these exposure "groups" to the odds ratio that would arise from dichotomizing the continuous outcome.

For example, if resulting E-value is 2, this means that unmeasured confounder(s) would need to double the probability of a subject's having exposure equal to c + delta instead of c, and would also need to double the probability of being high versus low on the outcome, in which the cutoff for "high" versus "low" is arbitrary subject to some distributional assumptions (Chinn, 2000).

A true standardized mean difference for linear regression would use sd = SD(Y | X, C), where Y is the outcome, X is the exposure of interest, and C are any adjusted covariates. See Examples for how to extract this from lm. A conservative approximation would instead use sd = SD(Y). Regardless, the reported E-value for the confidence interval treats sd as known, not estimated.

References

Chinn, S (2000). A simple method for converting an odds ratio to effect size for use in meta-analysis. Statistics in Medicine, 19(22), 3127-3131.

VanderWeele, TJ (2017). On a square-root transformation of the odds ratio for a common outcome. Epidemiology, 28(6), e58.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# first standardizing conservatively by SD(Y)
data(lead)
ols = lm(age ~ income, data = lead)

# for a 1-unit increase in income
evalues.OLS(est = ols$coefficients[2],
            se = summary(ols)$coefficients['income', 'Std. Error'],
            sd = sd(lead$age))

# for a 0.5-unit increase in income
evalues.OLS(est = ols$coefficients[2],
            se = summary(ols)$coefficients['income', 'Std. Error'],
            sd = sd(lead$age),
            delta = 0.5)

# now use residual SD to avoid conservatism
# here makes very little difference because income and age are
# not highly correlated
evalues.OLS(est = ols$coefficients[2],
            se = summary(ols)$coefficients['income', 'Std. Error'],
            sd = summary(ols)$sigma)

Example output

Confidence interval crosses the true value, so its E-value is 1.
            point     lower   upper
RR       1.015465 0.9952602 1.03608
E-values 1.140780 1.0000000      NA
Confidence interval crosses the true value, so its E-value is 1.
            point     lower   upper
RR       1.007703 0.9976273 1.01788
E-values 1.095805 1.0000000      NA
Confidence interval crosses the true value, so its E-value is 1.
            point     lower    upper
RR       1.015468 0.9952593 1.036086
E-values 1.140795 1.0000000       NA

EValue documentation built on Oct. 28, 2021, 9:10 a.m.