Skip to content

Commit d7c7a97

Browse files
add in overall means and re-render
1 parent 5c898bf commit d7c7a97

4 files changed

+41
-44
lines changed

exercises/03-ci-with-group-by-and-summarise-exercises.qmd

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ sim |>
4040
values_from = avg_y,
4141
names_prefix = "x_"
4242
) |>
43-
summarise(estimate = x_1 - x_0)
43+
summarise(estimate = x_1 - x_0) |>
44+
summarise(estimate = mean(estimate)) # note, we would need to weight this if the confounder groups were not equal sized
4445
```
4546

4647
## Your Turn 2
@@ -74,7 +75,8 @@ sim2 |>
7475
pivot_wider(names_from = exposure,
7576
values_from = avg_y,
7677
names_prefix = "x_") |>
77-
summarise(estimate = x_1 - x_0)
78+
summarise(estimate = x_1 - x_0, .groups = "drop") |>
79+
summarise(estimate = mean(estimate))
7880
7981
```
8082

1.58 KB
Binary file not shown.

slides/raw/03-causal-inference-with-group-by-and-summarise.html

Lines changed: 28 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ <h2>Simulation</h2>
545545
<h2><em>Your Turn 1</em> (<code>03-ci-with-group-by-and-summarise-exercises.qmd</code>)</h2>
546546
<h3 id="group-the-dataset-by-confounder-and-exposure">Group the dataset by <code>confounder</code> and <code>exposure</code></h3>
547547
<h3 id="calculate-the-mean-of-the-outcome-for-the-groups">Calculate the mean of the <code>outcome</code> for the groups</h3>
548-
<p></p><div class="countdown" id="timer_9b22e929" data-update-every="1" tabindex="0" style="right:0;bottom:0;"> <div class="countdown-controls"><button class="countdown-bump-down"></button><button class="countdown-bump-up">+</button></div> <code class="countdown-time"><span class="countdown-digits minutes">03</span><span class="countdown-digits colon">:</span><span class="countdown-digits seconds">00</span></code> </div><p></p>
548+
<p></p><div class="countdown" id="timer_17a8ab58" data-update-every="1" tabindex="0" style="right:0;bottom:0;"> <div class="countdown-controls"><button class="countdown-bump-down"></button><button class="countdown-bump-up">+</button></div> <code class="countdown-time"><span class="countdown-digits minutes">03</span><span class="countdown-digits colon">:</span><span class="countdown-digits seconds">00</span></code> </div><p></p>
549549
</section>
550550
<section id="your-turn-1" class="slide level2">
551551
<h2><em>Your Turn 1</em></h2>
@@ -578,15 +578,15 @@ <h2><em>Your Turn 1</em></h2>
578578
<span id="cb11-6"><a href="#cb11-6"></a> <span class="at">values_from =</span> avg_y, </span>
579579
<span id="cb11-7"><a href="#cb11-7"></a> <span class="at">names_prefix =</span> <span class="st">"x_"</span></span>
580580
<span id="cb11-8"><a href="#cb11-8"></a> ) <span class="sc">|&gt;</span></span>
581-
<span id="cb11-9"><a href="#cb11-9"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> x_1 <span class="sc">-</span> x_0) </span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
581+
<span id="cb11-9"><a href="#cb11-9"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> x_1 <span class="sc">-</span> x_0) <span class="sc">|&gt;</span></span>
582+
<span id="cb11-10"><a href="#cb11-10"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> <span class="fu">mean</span>(estimate)) <span class="co"># note, we would need to weight this if the confounder groups were not equal sized</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
582583
</div>
583584
<div class="cell fragment" data-layout-align="center">
584585
<div class="cell-output cell-output-stdout">
585-
<pre><code># A tibble: 2 × 2
586-
confounder estimate
587-
&lt;int&gt; &lt;dbl&gt;
588-
1 0 -0.00752
589-
2 1 -0.151 </code></pre>
586+
<pre><code># A tibble: 1 × 1
587+
estimate
588+
&lt;dbl&gt;
589+
1 -0.0794</code></pre>
590590
</div>
591591
</div>
592592
<div class="fragment">
@@ -669,21 +669,18 @@ <h2><em>Your Turn 2</em></h2>
669669
<span id="cb17-6"><a href="#cb17-6"></a> <span class="at">values_from =</span> avg_y, </span>
670670
<span id="cb17-7"><a href="#cb17-7"></a> <span class="at">names_prefix =</span> <span class="st">"x_"</span></span>
671671
<span id="cb17-8"><a href="#cb17-8"></a> ) <span class="sc">|&gt;</span></span>
672-
<span id="cb17-9"><a href="#cb17-9"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> x_1 <span class="sc">-</span> x_0) </span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
672+
<span id="cb17-9"><a href="#cb17-9"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> x_1 <span class="sc">-</span> x_0, <span class="at">.groups =</span> <span class="st">"drop"</span>) <span class="sc">|&gt;</span></span>
673+
<span id="cb17-10"><a href="#cb17-10"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> <span class="fu">mean</span>(estimate)) </span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
673674
</div>
674675
<div class="cell fragment" data-layout-align="center">
675676
<div class="cell-output cell-output-stdout">
676-
<pre><code># A tibble: 4 × 3
677-
# Groups: confounder_1 [2]
678-
confounder_1 confounder_2 estimate
679-
&lt;int&gt; &lt;int&gt; &lt;dbl&gt;
680-
1 0 0 -0.309
681-
2 0 1 0.0466
682-
3 1 0 -0.0271
683-
4 1 1 -0.00275</code></pre>
677+
<pre><code># A tibble: 1 × 1
678+
estimate
679+
&lt;dbl&gt;
680+
1 -0.0731</code></pre>
684681
</div>
685682
</div>
686-
<p></p><div class="countdown" id="timer_c45b9d8d" data-update-every="1" tabindex="0" style="right:0;bottom:0;"> <div class="countdown-controls"><button class="countdown-bump-down"></button><button class="countdown-bump-up">+</button></div> <code class="countdown-time"><span class="countdown-digits minutes">02</span><span class="countdown-digits colon">:</span><span class="countdown-digits seconds">00</span></code> </div><p></p>
683+
<p></p><div class="countdown" id="timer_c6fe8263" data-update-every="1" tabindex="0" style="right:0;bottom:0;"> <div class="countdown-controls"><button class="countdown-bump-down"></button><button class="countdown-bump-up">+</button></div> <code class="countdown-time"><span class="countdown-digits minutes">02</span><span class="countdown-digits colon">:</span><span class="countdown-digits seconds">00</span></code> </div><p></p>
687684
</section>
688685
<section id="simulation-6" class="slide level2">
689686
<h2>Simulation</h2>
@@ -745,24 +742,21 @@ <h2>Simulation</h2>
745742
<section id="simulation-8" class="slide level2">
746743
<h2>Simulation</h2>
747744
<div class="cell" data-layout-align="center">
748-
<div class="sourceCode cell-code" id="cb23" data-code-line-numbers="|2"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb23-1"><a href="#cb23-1"></a>sim2 <span class="sc">|&gt;</span></span>
745+
<div class="sourceCode cell-code" id="cb23" data-code-line-numbers="|2"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb23-1"><a href="#cb23-1"></a>big_sim2 <span class="sc">|&gt;</span></span>
749746
<span id="cb23-2"><a href="#cb23-2"></a> <span class="fu">group_by</span>(confounder_1, confounder_2, exposure) <span class="sc">|&gt;</span></span>
750747
<span id="cb23-3"><a href="#cb23-3"></a> <span class="fu">summarise</span>(<span class="at">avg_y =</span> <span class="fu">mean</span>(outcome)) <span class="sc">|&gt;</span></span>
751748
<span id="cb23-4"><a href="#cb23-4"></a> <span class="fu">pivot_wider</span>(<span class="at">names_from =</span> exposure,</span>
752749
<span id="cb23-5"><a href="#cb23-5"></a> <span class="at">values_from =</span> avg_y, </span>
753750
<span id="cb23-6"><a href="#cb23-6"></a> <span class="at">names_prefix =</span> <span class="st">"x_"</span>) <span class="sc">|&gt;</span></span>
754-
<span id="cb23-7"><a href="#cb23-7"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> x_1 <span class="sc">-</span> x_0) </span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
751+
<span id="cb23-7"><a href="#cb23-7"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> x_1 <span class="sc">-</span> x_0, <span class="at">.groups =</span> <span class="st">"drop"</span>) <span class="sc">|&gt;</span></span>
752+
<span id="cb23-8"><a href="#cb23-8"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> <span class="fu">mean</span>(estimate)) </span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
755753
</div>
756754
<div class="cell fragment" data-layout-align="center">
757755
<div class="cell-output cell-output-stdout">
758-
<pre><code># A tibble: 4 × 3
759-
# Groups: confounder_1 [2]
760-
confounder_1 confounder_2 estimate
761-
&lt;int&gt; &lt;int&gt; &lt;dbl&gt;
762-
1 0 0 -0.309
763-
2 0 1 0.0466
764-
3 1 0 -0.0271
765-
4 1 1 -0.00275</code></pre>
756+
<pre><code># A tibble: 1 × 1
757+
estimate
758+
&lt;dbl&gt;
759+
1 0.0187</code></pre>
766760
</div>
767761
</div>
768762
</section>
@@ -824,7 +818,7 @@ <h2><em>Your Turn 3</em></h2>
824818
<h3 id="use-ntile-from-dplyr-to-calculate-a-binned-version-of-confounder-called-confounder_q.-well-create-a-variable-with-5-bins.">Use <code>ntile()</code> from dplyr to calculate a binned version of <code>confounder</code> called <code>confounder_q</code>. We’ll create a variable with 5 bins.</h3>
825819
<h3 id="group-the-dataset-by-the-binned-variable-you-just-created-and-exposure">Group the dataset by the binned variable you just created and exposure</h3>
826820
<h3 id="calculate-the-mean-of-the-outcome-for-the-groups-2">Calculate the mean of the outcome for the groups</h3>
827-
<p></p><div class="countdown" id="timer_03285137" data-update-every="1" tabindex="0" style="right:0;bottom:0;"> <div class="countdown-controls"><button class="countdown-bump-down"></button><button class="countdown-bump-up">+</button></div> <code class="countdown-time"><span class="countdown-digits minutes">03</span><span class="countdown-digits colon">:</span><span class="countdown-digits seconds">00</span></code> </div><p></p>
821+
<p></p><div class="countdown" id="timer_ab912373" data-update-every="1" tabindex="0" style="right:0;bottom:0;"> <div class="countdown-controls"><button class="countdown-bump-down"></button><button class="countdown-bump-up">+</button></div> <code class="countdown-time"><span class="countdown-digits minutes">03</span><span class="countdown-digits colon">:</span><span class="countdown-digits seconds">00</span></code> </div><p></p>
828822
</section>
829823
<section id="your-turn-3-1" class="slide level2">
830824
<h2><em>Your Turn 3</em></h2>
@@ -838,18 +832,15 @@ <h2><em>Your Turn 3</em></h2>
838832
<span id="cb29-7"><a href="#cb29-7"></a> <span class="at">values_from =</span> avg_y, </span>
839833
<span id="cb29-8"><a href="#cb29-8"></a> <span class="at">names_prefix =</span> <span class="st">"x_"</span></span>
840834
<span id="cb29-9"><a href="#cb29-9"></a> ) <span class="sc">|&gt;</span></span>
841-
<span id="cb29-10"><a href="#cb29-10"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> x_1 <span class="sc">-</span> x_0) </span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
835+
<span id="cb29-10"><a href="#cb29-10"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> x_1 <span class="sc">-</span> x_0) <span class="sc">|&gt;</span></span>
836+
<span id="cb29-11"><a href="#cb29-11"></a> <span class="fu">summarise</span>(<span class="at">estimate =</span> <span class="fu">mean</span>(estimate))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
842837
</div>
843838
<div class="cell fragment" data-layout-align="center">
844839
<div class="cell-output cell-output-stdout">
845-
<pre><code># A tibble: 5 × 2
846-
confounder_q estimate
847-
&lt;int&gt; &lt;dbl&gt;
848-
1 1 0.104
849-
2 2 -0.0293
850-
3 3 0.0201
851-
4 4 0.0674
852-
5 5 0.201 </code></pre>
840+
<pre><code># A tibble: 1 × 1
841+
estimate
842+
&lt;dbl&gt;
843+
1 0.0728</code></pre>
853844
</div>
854845
</div>
855846
</section>

slides/raw/03-causal-inference-with-group-by-and-summarise.qmd

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,8 @@ sim |>
154154
values_from = avg_y,
155155
names_prefix = "x_"
156156
) |>
157-
summarise(estimate = x_1 - x_0)
157+
summarise(estimate = x_1 - x_0) |>
158+
summarise(estimate = mean(estimate)) # note, we would need to weight this if the confounder groups were not equal sized
158159
```
159160

160161
. . .
@@ -221,7 +222,8 @@ sim2 |>
221222
values_from = avg_y,
222223
names_prefix = "x_"
223224
) |>
224-
summarise(estimate = x_1 - x_0)
225+
summarise(estimate = x_1 - x_0, .groups = "drop") |>
226+
summarise(estimate = mean(estimate))
225227
```
226228

227229
`r countdown::countdown(minutes = 2)`
@@ -271,13 +273,14 @@ lm(outcome ~ exposure, data = big_sim2)
271273
```{r}
272274
#| code-line-numbers: "|2"
273275
#| output-location: fragment
274-
sim2 |>
276+
big_sim2 |>
275277
group_by(confounder_1, confounder_2, exposure) |>
276278
summarise(avg_y = mean(outcome)) |>
277279
pivot_wider(names_from = exposure,
278280
values_from = avg_y,
279281
names_prefix = "x_") |>
280-
summarise(estimate = x_1 - x_0)
282+
summarise(estimate = x_1 - x_0, .groups = "drop") |>
283+
summarise(estimate = mean(estimate))
281284
```
282285

283286

@@ -339,7 +342,8 @@ sim3 |>
339342
values_from = avg_y,
340343
names_prefix = "x_"
341344
) |>
342-
summarise(estimate = x_1 - x_0)
345+
summarise(estimate = x_1 - x_0) |>
346+
summarise(estimate = mean(estimate))
343347
```
344348

345349
## {background-color="#23373B" .center .huge}

0 commit comments

Comments
 (0)