class: center, middle, title-slide, inverse, no-scribble layout: false <audio controls> <source src="media/deafheaven_irresistible.mp3" type="audio/mpeg"> <source src="media/deafheaven_irresistible.ogg" type="audio/ogg"/> </audio> # Mixed designs and the GLM ## Professor Andy Field <div> <img style="vertical-align:middle; width:30px; height:30px" src="media/twitter_60.png"> <span style="line-height:40px;">@profandyfield</span> </div> <div> <img style="vertical-align:middle; width:60px" src="media/youtube.png"> <span style="line-height:40px;">www.youtube.com/user/ProfAndyField/</span> </div> <div> <img style="vertical-align:middle; width:30px; height:30px" src="media/ds_com_fav.png"> <span style="line-height:40px;">www.discoveringstatistics.com</span> </div> <div> <img style="vertical-align:middle; width:30px; height:30px" src="media/milton_grey_fav.png"> <span style="line-height:40px;">www.milton-the-cat.rocks</span> </div> <div> <img style="vertical-align:middle; width:30px; height:30px" src="media/discovr_fav.png"> <span style="line-height:40px;">www.discovr.rocks</span> </div> ??? Music: Deafheaven Irresistable h or ?: Toggle the help window j: Jump to next slide k: Jump to previous slide b: Toggle blackout mode m: Toggle mirrored mode. p: Toggle PresenterMode f: Toggle Fullscreen t: Reset presentation timer <number> + <Return>: Jump to slide <number> c: Create a clone presentation on a new window --- class: center  ??? We've seen this map of the process of fitting models before --- class: center  ??? Today we focus back on the model itself to look at the form of the model we're fitting. The faded stuff still applies though - we'll look at bias, robust models, and of course samples and estimation and so on. But they are the same as for other models, what is different is the form of the model we're fitting. --- # Learning outcomes * Describe what is meant by a mixed design * Apply a GLM to a mixed designs using `afex` * Interpret a GLM for a mixed design (up to three factors) * Making sense of three-way interactions --- # A speed-dating example * Dating strategies + If someone is committed to pursuing a relationship with a person who plays hard to get, they will find that person more desirable but less likeable (Dai, Dong, and Jia , 2014) + Field (2017) fictitious study to look at the interplay between looks, personality and dating strategies on evaluations of a date * Design + Predictor 1 (**looks**): above average (high), average, below average (low) + Predictor 2 (**personality**): high charisma, average charisma, low charisma + Predictor 3 (**strategy**): acting normal or playing hard to get * Outcome + P’s percentage desire for a full **date** (0-100%) --- class: center  --- class: center  --- class: center  --- background-image: none # The data in <svg style="height: 1em; top:.04em; position: relative; fill: #136CB9;" viewBox="0 0 581 512"><path d="M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z"/></svg>
--- # Mixed designs and the linear model * A bare minimum + Modelling variation in ratings overall across participants + Not modelling variation in the effect of repeated measures predictors across participants + Not explicitly listing the dummy variables for **looks** and **personality** (they'll be transformed into two dummy variables each) .center[.ong[ $$ `\begin{aligned} \text{date}_{ij} &= \hat{b}_{0j} + \hat{b}_{1}\text{strategy}_{i} + \hat{b}_{2}\text{looks}_{ij} + \hat{b}_{3}\text{personality}_{ij} + \dots \\ &\dots + \hat{b}_{4}\text{strategy}_{i} \times \text{looks}_{ij} + \hat{b}_{5}\text{strategy}_{i} \times \text{personality}_{ij} + \hat{b}_{6}\text{looks}_{ij} \times \text{personality}_{ij} + \dots \\ &\dots + \hat{b}_{7}\text{strategy}_{i} \times \text{looks}_{ij} \times \text{personality}_{ij} + e_{ij} + \hat{u}_{0j} \end{aligned}` $$ ]] --- # Summary of effects .pull-left[ We will get an *F*-statistic for the following effects: * Main effects + looks + personality + strategy * Two-way interactions + strategy × looks + strategy × personality + looks × personality * Three-way Interaction + strategy × looks × personality ] .pull-right[.eq_lrge[.warning[ <svg style="height: 1em; top:.04em; position: relative; fill: #CA3E34;" viewBox="0 0 576 512"><path d="M192,320h32V224H192Zm160,0h32V224H352ZM544,112H512a32.03165,32.03165,0,0,0-32,32v16H416V128h32a32.03165,32.03165,0,0,0,32-32V64a32.03165,32.03165,0,0,0-32-32H416a32.03165,32.03165,0,0,0-32,32H352a32.03165,32.03165,0,0,0-32,32v32H256V96a32.03165,32.03165,0,0,0-32-32H192a32.03165,32.03165,0,0,0-32-32H128A32.03165,32.03165,0,0,0,96,64V96a32.03165,32.03165,0,0,0,32,32h32v32H96V144a32.03165,32.03165,0,0,0-32-32H32A32.03165,32.03165,0,0,0,0,144V288a32.03165,32.03165,0,0,0,32,32H64v32a32.03165,32.03165,0,0,0,32,32h32v64a32.03165,32.03165,0,0,0,32,32h80a32.03165,32.03165,0,0,0,32-32V416a32.03165,32.03165,0,0,0-32-32h96a32.03165,32.03165,0,0,0-32,32v32a32.03165,32.03165,0,0,0,32,32h80a32.03165,32.03165,0,0,0,32-32V384h32a32.03165,32.03165,0,0,0,32-32V320h32a32.03165,32.03165,0,0,0,32-32V144A32.03165,32.03165,0,0,0,544,112ZM416,64h32V96H416ZM128,96V64h32V96ZM240,448H160V384h32v32h48Zm176,0H336V416h48V384h32ZM544,288H480v64H96V288H32V144H64V256H96V192h96V96h32v64H352V96h32v96h96v64h32V144h32Z"/></svg> Repeat the following mantras: **"It is never sensible to interpret main effects in the presence of a significant interaction effect."** **"It is not sensible to interpret interaction effects in the presence of a significant higher-order interaction effect."** ]]] --- # Fitting the model .pull-left[ * The `afex::aov_4()` function + Specify the repeated measures with `(rm_predictors|id_var)` + Automatically sets contrasts + Built in interaction plot with `afex_plot()` + But ... no parameter estimates, diagnostic plots, or robust methods ```r date_afx <- afex::aov_4( * date ~ strategy*looks*personality + (looks*personality|id), data = sniff_tib ) ``` ] -- .pull-right[ * Use `lmer()` from the `lme4` package + A trickier option (we don't teach you it) + Manually set contrasts + Can get parameter estimates, diagnostic plots, and robust methods + Comes with free mental anguish ] --- # Contrasts * For both **looks** and **personality** there are three categories (high, average, low). These variables need to be coded into two dummy/contrast variables. * We'd expect the desirability of a full date to be different at the extremes to the 'average'. Therefore, for both predictors these contrasts would work: + **Contrast 1**: {high} vs. {average} + **Contrast 2**: {low} vs. {average} * We can extract these using `emmeans::contrast()` ```r emmeans::contrast(my_emm_object, method = "eff", adjust = "holm") ``` * Use `method = ` + `"eff"`: each category is compared to the average of all categories (default). + `"pairwise"`: each category is compared to all others. + `"poly"`: polynomial contrasts (i.e. tests for an ordered trend in category means). + `"trt.vs.ctrl"`: compares each category to a declared reference category (by default the first category). Use `ref = x` to make `x` the reference category. + `"consec"`: compares each level/category (except the first) to the previous --- background-image: none background-color: #000000 class: no-scribble <video width="100%" height="100%" controls id="my_video"> <source src="media/milton_meditation_distraction_subtitles.mp4" type="video/mp4"> </video> --- background-image: none # Overall model summary ```r afex::aov_4(date ~ strategy*looks*personality + (looks*personality|id), data = date_tib) ``` <table class="table" style="margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> </th> <th style="text-align:right;"> num Df </th> <th style="text-align:right;"> den Df </th> <th style="text-align:right;"> MSE </th> <th style="text-align:right;"> F </th> <th style="text-align:right;"> ges </th> <th style="text-align:right;"> Pr(>F) </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> strategy </td> <td style="text-align:right;"> 1.00 </td> <td style="text-align:right;"> 18.00 </td> <td style="text-align:right;"> 42.23 </td> <td style="text-align:right;"> 0.00 </td> <td style="text-align:right;"> 0.00 </td> <td style="text-align:right;"> 0.95 </td> </tr> <tr> <td style="text-align:left;"> looks </td> <td style="text-align:right;"> 1.92 </td> <td style="text-align:right;"> 34.62 </td> <td style="text-align:right;"> 25.50 </td> <td style="text-align:right;"> 423.73 </td> <td style="text-align:right;"> 0.81 </td> <td style="text-align:right;"> 0.00 </td> </tr> <tr> <td style="text-align:left;"> strategy:looks </td> <td style="text-align:right;"> 1.92 </td> <td style="text-align:right;"> 34.62 </td> <td style="text-align:right;"> 25.50 </td> <td style="text-align:right;"> 80.43 </td> <td style="text-align:right;"> 0.45 </td> <td style="text-align:right;"> 0.00 </td> </tr> <tr> <td style="text-align:left;"> personality </td> <td style="text-align:right;"> 1.87 </td> <td style="text-align:right;"> 33.62 </td> <td style="text-align:right;"> 37.89 </td> <td style="text-align:right;"> 328.25 </td> <td style="text-align:right;"> 0.83 </td> <td style="text-align:right;"> 0.00 </td> </tr> <tr> <td style="text-align:left;"> strategy:personality </td> <td style="text-align:right;"> 1.87 </td> <td style="text-align:right;"> 33.62 </td> <td style="text-align:right;"> 37.89 </td> <td style="text-align:right;"> 62.45 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 0.00 </td> </tr> <tr> <td style="text-align:left;"> looks:personality </td> <td style="text-align:right;"> 3.20 </td> <td style="text-align:right;"> 57.55 </td> <td style="text-align:right;"> 34.62 </td> <td style="text-align:right;"> 36.63 </td> <td style="text-align:right;"> 0.45 </td> <td style="text-align:right;"> 0.00 </td> </tr> <tr> <td style="text-align:left;background-color: yellow !important;"> strategy:looks:personality </td> <td style="text-align:right;background-color: yellow !important;"> 3.20 </td> <td style="text-align:right;background-color: yellow !important;"> 57.55 </td> <td style="text-align:right;background-color: yellow !important;"> 34.62 </td> <td style="text-align:right;background-color: yellow !important;"> 24.12 </td> <td style="text-align:right;background-color: yellow !important;"> 0.35 </td> <td style="text-align:right;background-color: yellow !important;"> 0.00 </td> </tr> </tbody> </table> </br> .infobox[
The strategy × looks × personality interaction was significant, *F*(3.20, 57.55) = 24.12, *p* < 0.001. This interaction accounted for about a third of the available variance in date ratings, `\(\eta^2_{G} = 0.35\)`. ] ??? Note we use generalized eta-squared, which is better for repeated measures designs. --- # Main effect of strategy .pull-left[ <!-- --> ] .pull-right[ ```r emmeans::emmeans(date_afx, ~strategy, model = "multivariate") ``` <table> <thead> <tr> <th style="text-align:left;"> strategy </th> <th style="text-align:right;"> emmean </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> lower.CL </th> <th style="text-align:right;"> upper.CL </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:right;"> 68.53 </td> <td style="text-align:right;"> 0.69 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 67.09 </td> <td style="text-align:right;"> 69.97 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:right;"> 68.60 </td> <td style="text-align:right;"> 0.69 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 67.16 </td> <td style="text-align:right;"> 70.04 </td> </tr> </tbody> </table> ] --- # Main effect of looks .pull-left[ <!-- --> ] .pull-right[ ```r emmeans::emmeans(date_afx, ~looks, model = "multivariate") ``` <table> <thead> <tr> <th style="text-align:left;"> looks </th> <th style="text-align:right;"> emmean </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> lower.CL </th> <th style="text-align:right;"> upper.CL </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 55.82 </td> <td style="text-align:right;"> 0.65 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 54.45 </td> <td style="text-align:right;"> 57.18 </td> </tr> <tr> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 67.78 </td> <td style="text-align:right;"> 0.82 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 66.06 </td> <td style="text-align:right;"> 69.51 </td> </tr> <tr> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 82.10 </td> <td style="text-align:right;"> 0.65 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 80.73 </td> <td style="text-align:right;"> 83.47 </td> </tr> </tbody> </table> ] --- # Main effect of personality .pull-left[ <!-- --> ] .pull-right[ ```r emmeans::emmeans(date_afx, ~personality, model = "multivariate") ``` <table> <thead> <tr> <th style="text-align:left;"> personality </th> <th style="text-align:right;"> emmean </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> lower.CL </th> <th style="text-align:right;"> upper.CL </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 54.3 </td> <td style="text-align:right;"> 0.57 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 53.10 </td> <td style="text-align:right;"> 55.50 </td> </tr> <tr> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 69.3 </td> <td style="text-align:right;"> 0.73 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 67.76 </td> <td style="text-align:right;"> 70.84 </td> </tr> <tr> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 82.1 </td> <td style="text-align:right;"> 1.01 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 79.98 </td> <td style="text-align:right;"> 84.22 </td> </tr> </tbody> </table> ] --- # Strategy × looks interaction .pull-left[ <!-- --> ] .pull-right[ ```r emmeans::emmeans(date_afx, c("strategy", "looks"), model = "multivariate") ``` <table class="table" style="font-size: 14px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> strategy </th> <th style="text-align:left;"> looks </th> <th style="text-align:right;"> emmean </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> lower.CL </th> <th style="text-align:right;"> upper.CL </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 61.33 </td> <td style="text-align:right;"> 0.92 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 59.40 </td> <td style="text-align:right;"> 63.27 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 50.30 </td> <td style="text-align:right;"> 0.92 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 48.37 </td> <td style="text-align:right;"> 52.23 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 68.10 </td> <td style="text-align:right;"> 1.16 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 65.66 </td> <td style="text-align:right;"> 70.54 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 67.47 </td> <td style="text-align:right;"> 1.16 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 65.03 </td> <td style="text-align:right;"> 69.90 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 76.17 </td> <td style="text-align:right;"> 0.92 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 74.23 </td> <td style="text-align:right;"> 78.11 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 88.03 </td> <td style="text-align:right;"> 0.92 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 86.09 </td> <td style="text-align:right;"> 89.97 </td> </tr> </tbody> </table> ] --- # Strategy × personality interaction .pull-left[ <!-- --> ] .pull-right[ ```r emmeans::emmeans(date_afx, c("strategy", "personality"), model = "multivariate") ``` <table class="table" style="font-size: 14px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> strategy </th> <th style="text-align:left;"> personality </th> <th style="text-align:right;"> emmean </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> lower.CL </th> <th style="text-align:right;"> upper.CL </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 48.30 </td> <td style="text-align:right;"> 0.81 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 46.60 </td> <td style="text-align:right;"> 50.00 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 60.30 </td> <td style="text-align:right;"> 0.81 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 58.60 </td> <td style="text-align:right;"> 62.00 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 69.07 </td> <td style="text-align:right;"> 1.03 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 66.89 </td> <td style="text-align:right;"> 71.24 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 69.53 </td> <td style="text-align:right;"> 1.03 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 67.36 </td> <td style="text-align:right;"> 71.71 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 88.23 </td> <td style="text-align:right;"> 1.43 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 85.23 </td> <td style="text-align:right;"> 91.23 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 75.97 </td> <td style="text-align:right;"> 1.43 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 72.97 </td> <td style="text-align:right;"> 78.97 </td> </tr> </tbody> </table> ] --- # Looks × personality interaction .pull-left[ <!-- --> ] .pull-right[ ```r emmeans::emmeans(date_afx, c("looks", "personality"), model = "multivariate") ``` <table class="table" style="font-size: 14px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> looks </th> <th style="text-align:left;"> personality </th> <th style="text-align:right;"> emmean </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> lower.CL </th> <th style="text-align:right;"> upper.CL </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 45.95 </td> <td style="text-align:right;"> 0.75 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 44.38 </td> <td style="text-align:right;"> 47.52 </td> </tr> <tr> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 47.40 </td> <td style="text-align:right;"> 0.89 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 45.54 </td> <td style="text-align:right;"> 49.26 </td> </tr> <tr> <td style="text-align:left;"> High </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 69.55 </td> <td style="text-align:right;"> 1.02 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 67.41 </td> <td style="text-align:right;"> 71.69 </td> </tr> <tr> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 49.75 </td> <td style="text-align:right;"> 1.21 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 47.21 </td> <td style="text-align:right;"> 52.29 </td> </tr> <tr> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 70.35 </td> <td style="text-align:right;"> 1.17 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 67.89 </td> <td style="text-align:right;"> 72.81 </td> </tr> <tr> <td style="text-align:left;"> High </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 87.80 </td> <td style="text-align:right;"> 1.41 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 84.84 </td> <td style="text-align:right;"> 90.76 </td> </tr> <tr> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 71.75 </td> <td style="text-align:right;"> 1.25 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 69.13 </td> <td style="text-align:right;"> 74.37 </td> </tr> <tr> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 85.60 </td> <td style="text-align:right;"> 1.72 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 81.98 </td> <td style="text-align:right;"> 89.22 </td> </tr> <tr> <td style="text-align:left;"> High </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 88.95 </td> <td style="text-align:right;"> 1.38 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 86.04 </td> <td style="text-align:right;"> 91.86 </td> </tr> </tbody> </table> ] --- background-image: none background-color: #000000 class: no-scribble <video width="100%" height="100%" controls id="my_video"> <source src="media/milton_meditation_butthole_subtitles.mp4" type="video/mp4"> </video> --- # Strategy × looks × personality interaction .pull-left[ <!-- --> ] .pull-right[ <table class="table" style="font-size: 10px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> strategy </th> <th style="text-align:left;"> looks </th> <th style="text-align:left;"> personality </th> <th style="text-align:right;"> emmean </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> lower.CL </th> <th style="text-align:right;"> upper.CL </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 46.1 </td> <td style="text-align:right;"> 1.06 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 43.88 </td> <td style="text-align:right;"> 48.32 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 45.8 </td> <td style="text-align:right;"> 1.06 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 43.58 </td> <td style="text-align:right;"> 48.02 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 47.0 </td> <td style="text-align:right;"> 1.26 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 44.36 </td> <td style="text-align:right;"> 49.64 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 47.8 </td> <td style="text-align:right;"> 1.26 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 45.16 </td> <td style="text-align:right;"> 50.44 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> High </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 51.8 </td> <td style="text-align:right;"> 1.44 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 48.77 </td> <td style="text-align:right;"> 54.83 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> High </td> <td style="text-align:left;"> Low </td> <td style="text-align:right;"> 87.3 </td> <td style="text-align:right;"> 1.44 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 84.27 </td> <td style="text-align:right;"> 90.33 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 51.2 </td> <td style="text-align:right;"> 1.71 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 47.60 </td> <td style="text-align:right;"> 54.80 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 48.3 </td> <td style="text-align:right;"> 1.71 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 44.70 </td> <td style="text-align:right;"> 51.90 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 68.9 </td> <td style="text-align:right;"> 1.66 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 65.42 </td> <td style="text-align:right;"> 72.38 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 71.8 </td> <td style="text-align:right;"> 1.66 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 68.32 </td> <td style="text-align:right;"> 75.28 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> High </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 87.1 </td> <td style="text-align:right;"> 1.99 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 82.92 </td> <td style="text-align:right;"> 91.28 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> High </td> <td style="text-align:left;"> Average </td> <td style="text-align:right;"> 88.5 </td> <td style="text-align:right;"> 1.99 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 84.32 </td> <td style="text-align:right;"> 92.68 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 86.7 </td> <td style="text-align:right;"> 1.77 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 82.99 </td> <td style="text-align:right;"> 90.41 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Low </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 56.8 </td> <td style="text-align:right;"> 1.77 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 53.09 </td> <td style="text-align:right;"> 60.51 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 88.4 </td> <td style="text-align:right;"> 2.43 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 83.29 </td> <td style="text-align:right;"> 93.51 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> Average </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 82.8 </td> <td style="text-align:right;"> 2.43 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 77.69 </td> <td style="text-align:right;"> 87.91 </td> </tr> <tr> <td style="text-align:left;"> Normal </td> <td style="text-align:left;"> High </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 89.6 </td> <td style="text-align:right;"> 1.96 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 85.49 </td> <td style="text-align:right;"> 93.71 </td> </tr> <tr> <td style="text-align:left;"> Hard to get </td> <td style="text-align:left;"> High </td> <td style="text-align:left;"> High </td> <td style="text-align:right;"> 88.3 </td> <td style="text-align:right;"> 1.96 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 84.19 </td> <td style="text-align:right;"> 92.41 </td> </tr> </tbody> </table> ] --- # Contrasts across the interaction ```r three_way_emm <- emmeans::emmeans(date_afx, c("strategy", "looks", "personality"), model = "multivariate") emmeans::contrast( three_way_emm, interaction = c(strategy = "trt.vs.ctrl", looks = "trt.vs.ctrl", personality = "trt.vs.ctrl"), ref = 2, adjust = "holm" ) ``` <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:right;background-color: yellow !important;"> -4.7 </td> <td style="text-align:right;"> 4.07 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -1.16 </td> <td style="text-align:right;background-color: yellow !important;"> 0.53 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:right;background-color: yellow !important;"> -36.2 </td> <td style="text-align:right;"> 4.65 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -7.79 </td> <td style="text-align:right;background-color: yellow !important;"> 0.00 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:right;background-color: yellow !important;"> 18.5 </td> <td style="text-align:right;"> 5.41 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 3.42 </td> <td style="text-align:right;background-color: yellow !important;"> 0.01 </td> </tr> <tr> <td style="text-align:left;"> 4 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:right;background-color: yellow !important;"> -5.8 </td> <td style="text-align:right;"> 6.02 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -0.96 </td> <td style="text-align:right;background-color: yellow !important;"> 0.53 </td> </tr> </tbody> </table> ??? Note p-values adjusted for 4 tests, they are not adjusted on the next slides (so the ps change) --- ## Contrast 1 .center[ <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:right;background-color: yellow !important;"> -4.7 </td> <td style="text-align:right;"> 4.07 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -1.16 </td> <td style="text-align:right;background-color: yellow !important;"> 0.53 </td> </tr> </tbody> </table> <!-- --> ] --- ## Contrast 1 .center[ <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:right;background-color: yellow !important;"> -4.7 </td> <td style="text-align:right;"> 4.07 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -1.16 </td> <td style="text-align:right;background-color: yellow !important;"> 0.53 </td> </tr> </tbody> </table> <!-- --> ] --- ## Contrast 2 .center[ <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:right;background-color: yellow !important;"> -36.2 </td> <td style="text-align:right;"> 4.65 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -7.79 </td> <td style="text-align:right;background-color: yellow !important;"> 0 </td> </tr> </tbody> </table> <!-- --> ] --- ## Contrast 2 .center[ <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:right;background-color: yellow !important;"> -36.2 </td> <td style="text-align:right;"> 4.65 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -7.79 </td> <td style="text-align:right;background-color: yellow !important;"> 0 </td> </tr> </tbody> </table> <!-- --> ] --- ## Contrast 3 .center[ <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:right;background-color: yellow !important;"> 18.5 </td> <td style="text-align:right;"> 5.41 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 3.42 </td> <td style="text-align:right;background-color: yellow !important;"> 0.01 </td> </tr> </tbody> </table> <!-- --> ] --- ## Contrast 3 .center[ <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> Low - Average </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:right;background-color: yellow !important;"> 18.5 </td> <td style="text-align:right;"> 5.41 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 3.42 </td> <td style="text-align:right;background-color: yellow !important;"> 0.01 </td> </tr> </tbody> </table> <!-- --> ] --- ## Contrast 4 .center[ <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 4 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:right;background-color: yellow !important;"> -5.8 </td> <td style="text-align:right;"> 6.02 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -0.96 </td> <td style="text-align:right;background-color: yellow !important;"> 0.53 </td> </tr> </tbody> </table> <!-- --> ] --- ## Contrast 4 .center[ <table> <thead> <tr> <th style="text-align:left;"> Contrast </th> <th style="text-align:left;"> strategy_trt.vs.ctrl </th> <th style="text-align:left;"> looks_trt.vs.ctrl </th> <th style="text-align:left;"> personality_trt.vs.ctrl </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> df </th> <th style="text-align:right;"> t.ratio </th> <th style="text-align:right;"> p.value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 4 </td> <td style="text-align:left;"> Normal - Hard to get </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:left;"> High - Average </td> <td style="text-align:right;background-color: yellow !important;"> -5.8 </td> <td style="text-align:right;"> 6.02 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> -0.96 </td> <td style="text-align:right;background-color: yellow !important;"> 0.53 </td> </tr> </tbody> </table> <!-- --> ] --- # Summary * Mixed designs combine at least one predictor measured using repeated measures, and at least one measured using different entities * Sphericity + Correct using Greenhouse-Geisser, report it and forget about it + `afex` does this by default * The output is much the same as an other designs + An *F*-statistic for each effect + Interpret as you would any *F*-statistic + Pick apart the highest order interaction * Interactions + Use built in contrasts to tease apart what the interaction shows