|
4 | 4 | <title>Tipping Point Sensitivity Analyses</title>
|
5 | 5 | <meta charset="utf-8" />
|
6 | 6 | <meta name="author" content="Lucy D’Agostino McGowan" />
|
7 |
| - <script src="libs/header-attrs/header-attrs.js"></script> |
8 |
| - <link href="libs/remark-css/default.css" rel="stylesheet" /> |
9 |
| - <link href="libs/countdown/countdown.css" rel="stylesheet" /> |
10 |
| - <script src="libs/countdown/countdown.js"></script> |
| 7 | + <script src="libs/header-attrs-2.14/header-attrs.js"></script> |
| 8 | + <link href="libs/remark-css-0.0.1/default.css" rel="stylesheet" /> |
| 9 | + <link href="libs/countdown-0.3.5/countdown.css" rel="stylesheet" /> |
| 10 | + <script src="libs/countdown-0.3.5/countdown.js"></script> |
11 | 11 | <link rel="stylesheet" href="theme.css" type="text/css" />
|
12 | 12 | </head>
|
13 | 13 | <body>
|
14 | 14 | <textarea id="source">
|
15 | 15 | class: center, middle, inverse, title-slide
|
16 | 16 |
|
| 17 | +.title[ |
17 | 18 | # Tipping Point Sensitivity Analyses
|
| 19 | +] |
| 20 | +.author[ |
18 | 21 | ### Lucy D’Agostino McGowan
|
| 22 | +] |
| 23 | +.institute[ |
19 | 24 | ### Wake Forest University
|
20 |
| -### 2021-09-01 (updated: 2021-10-21) |
| 25 | +] |
| 26 | +.date[ |
| 27 | +### 2021-09-01 (updated: 2022-06-07) |
| 28 | +] |
21 | 29 |
|
22 | 30 | ---
|
23 | 31 |
|
|
164 | 172 |
|
165 | 173 | ## Main function
|
166 | 174 |
|
167 |
| -# `lm_tip()` |
| 175 | +# `tip_coef()` |
168 | 176 |
|
169 |
| -* `d`: a data frame that includes the observed confidence bounds |
| 177 | +* `effect`: observed exposure - outcome effect |
170 | 178 | ---
|
171 | 179 |
|
172 | 180 |
|
|
181 | 189 |
|
182 | 190 | ## Main function
|
183 | 191 |
|
184 |
| -# `lm_tip()` |
| 192 | +# `tip_coef()` |
185 | 193 | * `smd`: scaled mean difference between the unmeasured confounder in the exposed and unexposed population
|
186 | 194 |
|
187 | 195 |
|
|
200 | 208 |
|
201 | 209 | ## Main function
|
202 | 210 |
|
203 |
| -# `lm_tip()` |
| 211 | +# `tip_coef()` |
204 | 212 | * `outcome_association`: association between the unmeasured confounder and outcome
|
205 | 213 |
|
206 | 214 | ---
|
|
216 | 224 |
|
217 | 225 | ## Main function
|
218 | 226 |
|
219 |
| -# `lm_tip()` |
| 227 | +# `tip_coef()` |
220 | 228 |
|
221 |
| -* `d` |
| 229 | +* `effect` |
222 | 230 | * `smd`
|
223 | 231 | * `outcome_association`
|
224 | 232 | ---
|
225 | 233 |
|
226 | 234 | ## Main function
|
227 | 235 |
|
228 |
| -# `lm_tip()` |
| 236 | +# `tip_coef()` |
229 | 237 |
|
230 | 238 | ### **specify** one, it will **estimate** the other
|
231 | 239 |
|
|
244 | 252 |
|
245 | 253 | ```r
|
246 | 254 | library(tipr)
|
247 |
| -lm_tip(data.frame(conf.low = 2.4, |
248 |
| - conf.high = 4.4), |
249 |
| - smd = 0.3) |
| 255 | +tip_coef(effect = 2.4, |
| 256 | + smd = 0.3) |
250 | 257 | ```
|
251 | 258 |
|
252 | 259 | ```
|
253 |
| -## # A tibble: 1 × 5 |
254 |
| -## observed_lb observed_ub smd outcome_association |
255 |
| -## <dbl> <dbl> <dbl> <dbl> |
256 |
| -## 1 2.4 4.4 0.3 8 |
257 |
| -## # … with 1 more variable: n_unmeasured_confounders <dbl> |
| 260 | +## # A tibble: 1 × 4 |
| 261 | +## observed_effect smd outcome_association n_unmeasured_confounders |
| 262 | +## <dbl> <dbl> <dbl> <dbl> |
| 263 | +## 1 2.4 0.3 8 1 |
258 | 264 | ```
|
259 | 265 |
|
260 | 266 | --
|
261 | 267 |
|
262 | 268 | The observed effect (2.4, 4.4) WOULD be tipped by 1 unmeasured confounder
|
263 | 269 | with the following specifications:
|
264 | 270 |
|
265 |
| - *estimated standardized mean difference between the unmeasured confounder |
266 |
| - in the exposed population and unexposed population: 0.3* |
267 |
| - |
268 |
| - *estimated association between the unmeasured confounder and the outcome: 8* |
| 271 | +*estimated standardized mean difference between the unmeasured confounder |
| 272 | +in the exposed population and unexposed population: 0.3* |
| 273 | + |
| 274 | +*estimated association between the unmeasured confounder and the outcome: 8* |
269 | 275 | ---
|
270 | 276 |
|
271 | 277 | ## Your turn
|
272 | 278 |
|
273 |
| -<div class="countdown" id="timer_61718391" style="right:0;bottom:0;" data-warnwhen="0"> |
| 279 | +<div class="countdown" id="timer_629fa62c" style="right:0;bottom:0;" data-warnwhen="0"> |
274 | 280 | <code class="countdown-time"><span class="countdown-digits minutes">10</span><span class="countdown-digits colon">:</span><span class="countdown-digits seconds">00</span></code>
|
275 | 281 | </div>
|
276 | 282 |
|
277 |
| -1. Use the `lm_tip()` function to conduct a sensitivity analysis for the estimate from your previous exercises. |
| 283 | +1. Use the `tip_coef()` function to conduct a sensitivity analysis for the estimate from your previous exercises. |
278 | 284 | </textarea>
|
279 | 285 | <style data-target="print-only">@media screen {.remark-slide-container{display:block;}.remark-slide-scaler{box-shadow:none;}}</style>
|
280 | 286 | <script src="https://remarkjs.com/downloads/remark-latest.min.js"></script>
|
|
326 | 332 | deleted = true;
|
327 | 333 | });
|
328 | 334 | })();
|
| 335 | +// add `data-at-shortcutkeys` attribute to <body> to resolve conflicts with JAWS |
| 336 | +// screen reader (see PR #262) |
| 337 | +(function(d) { |
| 338 | + let res = {}; |
| 339 | + d.querySelectorAll('.remark-help-content table tr').forEach(tr => { |
| 340 | + const t = tr.querySelector('td:nth-child(2)').innerText; |
| 341 | + tr.querySelectorAll('td:first-child .key').forEach(key => { |
| 342 | + const k = key.innerText; |
| 343 | + if (/^[a-z]$/.test(k)) res[k] = t; // must be a single letter (key) |
| 344 | + }); |
| 345 | + }); |
| 346 | + d.body.setAttribute('data-at-shortcutkeys', JSON.stringify(res)); |
| 347 | +})(document); |
329 | 348 | (function() {
|
330 | 349 | "use strict"
|
331 | 350 | // Replace <script> tags in slides area to make them executable
|
|
0 commit comments