class: center, middle, inverse, title-slide <style type="text/css"> .remark-slide table{ border: none } .remark-slide-table { } tr:first-child { border-top: none; } tr:last-child { border-bottom: none; } </style> # Introduction to R for Applied Epidemiology ### Pivoting data contact@appliedepi.org --- # Restructuring data *pivoting, reshaping, melting, casting, transforming...* dataframes <img src="../../images/joins_pivots/Pivoting_500x500.png" width="222" height="100%" /> --- # What is pivoting? * *Excel pivot tables* are a way of summarizing and aggregating data -- * In R, **pivoting** a dataframe has a **different meaning** -- * Think of it as *restructuring*, or *reshaping* the dataframe -- * We will use the `pivot_wider()` and `pivot_longer()` functions from the {tidyr} package -- * You will often see examples using alternative functions from other packages: * `melt()` and `cast()` from {reshape2} * `gather()` and `spread()` ancestors of the {tidyr} `pivot_()` functions * `melt()` and `dcast()` from {data.table} --- # Tidy data Do you remember the 3 principles of "tidy data"? -- 1. Each **value** must have its own **cell** -- 2. Each **variable** must have its own **column** -- 3. Each **observation** must have its own **row** --- # Terminology Structurally, "data frames" in R consist of **columns** and **rows**. -- However, **"variables"** and **"observations"** are more *abstract* concepts: * **Variables** measure one *underlying attribute* (age, outcome, or date of onset) * **Observations** relate to a *unit of analysis* -- Ideally, they align: **columns = variables** and **rows = observations** <img src="../../images/data_cleaning/tidy_image_en.png" width="853" height="65%" /> .footnote[Image source: [R for Data Science](https://r4ds.had.co.nz/tidy-data.html)] --- # Pivot longer .pull-left[ Data entry is often in “wide” format <table> <thead> <tr> <th style="text-align:left;"> country </th> <th style="text-align:right;"> 1999 </th> <th style="text-align:right;"> 2000 </th> <th style="text-align:right;"> 2001 </th> <th style="text-align:right;"> 2002 </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Nigeria </td> <td style="text-align:right;"> 8000 </td> <td style="text-align:right;"> 7500 </td> <td style="text-align:right;"> 9250 </td> <td style="text-align:right;"> 10200 </td> </tr> <tr> <td style="text-align:left;"> India </td> <td style="text-align:right;"> 20100 </td> <td style="text-align:right;"> 25650 </td> <td style="text-align:right;"> 26800 </td> <td style="text-align:right;"> 27255 </td> </tr> <tr> <td style="text-align:left;"> Brazil </td> <td style="text-align:right;"> 4500 </td> <td style="text-align:right;"> 5120 </td> <td style="text-align:right;"> 5100 </td> <td style="text-align:right;"> 5860 </td> </tr> </tbody> </table> * A subject’s characteristics are stored in a single row * Useful for presentation * **Not** ideal for some types of analysis. ] -- .pull-right[ **Easier to analyse in "long" format** <table> <thead> <tr> <th style="text-align:left;"> country </th> <th style="text-align:left;"> year </th> <th style="text-align:right;"> cases </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Nigeria </td> <td style="text-align:left;"> 1999 </td> <td style="text-align:right;"> 8000 </td> </tr> <tr> <td style="text-align:left;"> Nigeria </td> <td style="text-align:left;"> 2000 </td> <td style="text-align:right;"> 7500 </td> </tr> <tr> <td style="text-align:left;"> Nigeria </td> <td style="text-align:left;"> 2001 </td> <td style="text-align:right;"> 9250 </td> </tr> <tr> <td style="text-align:left;"> Nigeria </td> <td style="text-align:left;"> 2002 </td> <td style="text-align:right;"> 10200 </td> </tr> <tr> <td style="text-align:left;"> India </td> <td style="text-align:left;"> 1999 </td> <td style="text-align:right;"> 20100 </td> </tr> <tr> <td style="text-align:left;"> India </td> <td style="text-align:left;"> 2000 </td> <td style="text-align:right;"> 25650 </td> </tr> <tr> <td style="text-align:left;"> India </td> <td style="text-align:left;"> 2001 </td> <td style="text-align:right;"> 26800 </td> </tr> <tr> <td style="text-align:left;"> India </td> <td style="text-align:left;"> 2002 </td> <td style="text-align:right;"> 27255 </td> </tr> <tr> <td style="text-align:left;"> Brazil </td> <td style="text-align:left;"> 1999 </td> <td style="text-align:right;"> 4500 </td> </tr> <tr> <td style="text-align:left;"> Brazil </td> <td style="text-align:left;"> 2000 </td> <td style="text-align:right;"> 5120 </td> </tr> <tr> <td style="text-align:left;"> Brazil </td> <td style="text-align:left;"> 2001 </td> <td style="text-align:right;"> 5100 </td> </tr> <tr> <td style="text-align:left;"> Brazil </td> <td style="text-align:left;"> 2002 </td> <td style="text-align:right;"> 5860 </td> </tr> </tbody> </table> ] --- # {ggplot2} example How to plot cases over time for the three countries? <table> <thead> <tr> <th style="text-align:left;"> country </th> <th style="text-align:right;"> 1999 </th> <th style="text-align:right;"> 2000 </th> <th style="text-align:right;"> 2001 </th> <th style="text-align:right;"> 2002 </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Nigeria </td> <td style="text-align:right;"> 8000 </td> <td style="text-align:right;"> 7500 </td> <td style="text-align:right;"> 9250 </td> <td style="text-align:right;"> 10200 </td> </tr> <tr> <td style="text-align:left;"> India </td> <td style="text-align:right;"> 20100 </td> <td style="text-align:right;"> 25650 </td> <td style="text-align:right;"> 26800 </td> <td style="text-align:right;"> 27255 </td> </tr> <tr> <td style="text-align:left;"> Brazil </td> <td style="text-align:right;"> 4500 </td> <td style="text-align:right;"> 5120 </td> <td style="text-align:right;"> 5100 </td> <td style="text-align:right;"> 5860 </td> </tr> </tbody> </table> ```r ggplot(data = example, mapping = aes(x = ???, y = ???))+ geom_line() ``` --- # Pivot longer .pull-left[ <div class="tabwid"><style>.cl-12c7d1f4{}.cl-12b2186e{font-family:'Arial';font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-12b8888e{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-12b88898{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-12b8ae04{width:0.786in;background-color:rgba(255, 255, 255, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12b8ae0e{width:0.752in;background-color:rgba(255, 165, 0, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12b8ae18{width:0.786in;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12b8ae19{width:0.752in;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12b8ae22{width:0.786in;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12b8ae2c{width:0.752in;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12b8ae36{width:0.786in;background-color:transparent;vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12b8ae37{width:0.752in;background-color:transparent;vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table data-quarto-disable-processing='true' class='cl-12c7d1f4'><thead><tr style="overflow-wrap:break-word;"><th class="cl-12b8ae04"><p class="cl-12b8888e"><span class="cl-12b2186e">country</span></p></th><th class="cl-12b8ae0e"><p class="cl-12b88898"><span class="cl-12b2186e">1999</span></p></th><th class="cl-12b8ae0e"><p class="cl-12b88898"><span class="cl-12b2186e">2000</span></p></th><th class="cl-12b8ae0e"><p class="cl-12b88898"><span class="cl-12b2186e">2001</span></p></th><th class="cl-12b8ae0e"><p class="cl-12b88898"><span class="cl-12b2186e">2002</span></p></th></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-12b8ae18"><p class="cl-12b8888e"><span class="cl-12b2186e">Nigeria</span></p></td><td class="cl-12b8ae19"><p class="cl-12b88898"><span class="cl-12b2186e">8,000</span></p></td><td class="cl-12b8ae19"><p class="cl-12b88898"><span class="cl-12b2186e">7,500</span></p></td><td class="cl-12b8ae19"><p class="cl-12b88898"><span class="cl-12b2186e">9,250</span></p></td><td class="cl-12b8ae19"><p class="cl-12b88898"><span class="cl-12b2186e">10,200</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-12b8ae22"><p class="cl-12b8888e"><span class="cl-12b2186e">India</span></p></td><td class="cl-12b8ae2c"><p class="cl-12b88898"><span class="cl-12b2186e">20,100</span></p></td><td class="cl-12b8ae2c"><p class="cl-12b88898"><span class="cl-12b2186e">25,650</span></p></td><td class="cl-12b8ae2c"><p class="cl-12b88898"><span class="cl-12b2186e">26,800</span></p></td><td class="cl-12b8ae2c"><p class="cl-12b88898"><span class="cl-12b2186e">27,255</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-12b8ae36"><p class="cl-12b8888e"><span class="cl-12b2186e">Brazil</span></p></td><td class="cl-12b8ae37"><p class="cl-12b88898"><span class="cl-12b2186e">4,500</span></p></td><td class="cl-12b8ae37"><p class="cl-12b88898"><span class="cl-12b2186e">5,120</span></p></td><td class="cl-12b8ae37"><p class="cl-12b88898"><span class="cl-12b2186e">5,100</span></p></td><td class="cl-12b8ae37"><p class="cl-12b88898"><span class="cl-12b2186e">5,860</span></p></td></tr></tbody></table></div> * These **column names will be pivoted** ] --- # Pivot longer .pull-left[ <div class="tabwid"><style>.cl-130868f4{}.cl-12f66e4c{font-family:'Arial';font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-12fd14fe{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-12fd1512{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-12fd3a74{width:0.786in;background-color:rgba(255, 255, 255, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12fd3a7e{width:0.752in;background-color:rgba(255, 165, 0, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12fd3a88{width:0.786in;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12fd3a89{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12fd3a8a{width:0.786in;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12fd3a92{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12fd3a9c{width:0.786in;background-color:transparent;vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-12fd3aa6{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table data-quarto-disable-processing='true' class='cl-130868f4'><thead><tr style="overflow-wrap:break-word;"><th class="cl-12fd3a74"><p class="cl-12fd14fe"><span class="cl-12f66e4c">country</span></p></th><th class="cl-12fd3a7e"><p class="cl-12fd1512"><span class="cl-12f66e4c">1999</span></p></th><th class="cl-12fd3a7e"><p class="cl-12fd1512"><span class="cl-12f66e4c">2000</span></p></th><th class="cl-12fd3a7e"><p class="cl-12fd1512"><span class="cl-12f66e4c">2001</span></p></th><th class="cl-12fd3a7e"><p class="cl-12fd1512"><span class="cl-12f66e4c">2002</span></p></th></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-12fd3a88"><p class="cl-12fd14fe"><span class="cl-12f66e4c">Nigeria</span></p></td><td class="cl-12fd3a89"><p class="cl-12fd1512"><span class="cl-12f66e4c">8,000</span></p></td><td class="cl-12fd3a89"><p class="cl-12fd1512"><span class="cl-12f66e4c">7,500</span></p></td><td class="cl-12fd3a89"><p class="cl-12fd1512"><span class="cl-12f66e4c">9,250</span></p></td><td class="cl-12fd3a89"><p class="cl-12fd1512"><span class="cl-12f66e4c">10,200</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-12fd3a8a"><p class="cl-12fd14fe"><span class="cl-12f66e4c">India</span></p></td><td class="cl-12fd3a92"><p class="cl-12fd1512"><span class="cl-12f66e4c">20,100</span></p></td><td class="cl-12fd3a92"><p class="cl-12fd1512"><span class="cl-12f66e4c">25,650</span></p></td><td class="cl-12fd3a92"><p class="cl-12fd1512"><span class="cl-12f66e4c">26,800</span></p></td><td class="cl-12fd3a92"><p class="cl-12fd1512"><span class="cl-12f66e4c">27,255</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-12fd3a9c"><p class="cl-12fd14fe"><span class="cl-12f66e4c">Brazil</span></p></td><td class="cl-12fd3aa6"><p class="cl-12fd1512"><span class="cl-12f66e4c">4,500</span></p></td><td class="cl-12fd3aa6"><p class="cl-12fd1512"><span class="cl-12f66e4c">5,120</span></p></td><td class="cl-12fd3aa6"><p class="cl-12fd1512"><span class="cl-12f66e4c">5,100</span></p></td><td class="cl-12fd3aa6"><p class="cl-12fd1512"><span class="cl-12f66e4c">5,860</span></p></td></tr></tbody></table></div> * These **values will be re-arranged** ] --- # Pivot longer .pull-left[ <div class="tabwid"><style>.cl-13430432{}.cl-133557e2{font-family:'Arial';font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-133b2f5a{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-133b2f6e{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-133b5156{width:0.786in;background-color:rgba(255, 255, 255, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-133b5160{width:0.752in;background-color:rgba(255, 165, 0, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-133b516a{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-133b5174{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-133b5175{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-133b517e{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-133b517f{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-133b5188{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table data-quarto-disable-processing='true' class='cl-13430432'><thead><tr style="overflow-wrap:break-word;"><th class="cl-133b5156"><p class="cl-133b2f5a"><span class="cl-133557e2">country</span></p></th><th class="cl-133b5160"><p class="cl-133b2f6e"><span class="cl-133557e2">1999</span></p></th><th class="cl-133b5160"><p class="cl-133b2f6e"><span class="cl-133557e2">2000</span></p></th><th class="cl-133b5160"><p class="cl-133b2f6e"><span class="cl-133557e2">2001</span></p></th><th class="cl-133b5160"><p class="cl-133b2f6e"><span class="cl-133557e2">2002</span></p></th></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-133b516a"><p class="cl-133b2f5a"><span class="cl-133557e2">Nigeria</span></p></td><td class="cl-133b5174"><p class="cl-133b2f6e"><span class="cl-133557e2">8,000</span></p></td><td class="cl-133b5174"><p class="cl-133b2f6e"><span class="cl-133557e2">7,500</span></p></td><td class="cl-133b5174"><p class="cl-133b2f6e"><span class="cl-133557e2">9,250</span></p></td><td class="cl-133b5174"><p class="cl-133b2f6e"><span class="cl-133557e2">10,200</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-133b5175"><p class="cl-133b2f5a"><span class="cl-133557e2">India</span></p></td><td class="cl-133b517e"><p class="cl-133b2f6e"><span class="cl-133557e2">20,100</span></p></td><td class="cl-133b517e"><p class="cl-133b2f6e"><span class="cl-133557e2">25,650</span></p></td><td class="cl-133b517e"><p class="cl-133b2f6e"><span class="cl-133557e2">26,800</span></p></td><td class="cl-133b517e"><p class="cl-133b2f6e"><span class="cl-133557e2">27,255</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-133b517f"><p class="cl-133b2f5a"><span class="cl-133557e2">Brazil</span></p></td><td class="cl-133b5188"><p class="cl-133b2f6e"><span class="cl-133557e2">4,500</span></p></td><td class="cl-133b5188"><p class="cl-133b2f6e"><span class="cl-133557e2">5,120</span></p></td><td class="cl-133b5188"><p class="cl-133b2f6e"><span class="cl-133557e2">5,100</span></p></td><td class="cl-133b5188"><p class="cl-133b2f6e"><span class="cl-133557e2">5,860</span></p></td></tr></tbody></table></div> * These **identifiers will be replicated** ] --- # Pivot longer .pull-left[ <div class="tabwid"><style>.cl-137d19d8{}.cl-136ca58a{font-family:'Arial';font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-13735bc8{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-13735bdc{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-13743b6a{width:0.786in;background-color:rgba(255, 255, 255, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13743b88{width:0.752in;background-color:rgba(255, 165, 0, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13743b89{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13743b92{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13743b9c{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13743ba6{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13743bb0{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13743bb1{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table data-quarto-disable-processing='true' class='cl-137d19d8'><thead><tr style="overflow-wrap:break-word;"><th class="cl-13743b6a"><p class="cl-13735bc8"><span class="cl-136ca58a">country</span></p></th><th class="cl-13743b88"><p class="cl-13735bdc"><span class="cl-136ca58a">1999</span></p></th><th class="cl-13743b88"><p class="cl-13735bdc"><span class="cl-136ca58a">2000</span></p></th><th class="cl-13743b88"><p class="cl-13735bdc"><span class="cl-136ca58a">2001</span></p></th><th class="cl-13743b88"><p class="cl-13735bdc"><span class="cl-136ca58a">2002</span></p></th></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-13743b89"><p class="cl-13735bc8"><span class="cl-136ca58a">Nigeria</span></p></td><td class="cl-13743b92"><p class="cl-13735bdc"><span class="cl-136ca58a">8,000</span></p></td><td class="cl-13743b92"><p class="cl-13735bdc"><span class="cl-136ca58a">7,500</span></p></td><td class="cl-13743b92"><p class="cl-13735bdc"><span class="cl-136ca58a">9,250</span></p></td><td class="cl-13743b92"><p class="cl-13735bdc"><span class="cl-136ca58a">10,200</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13743b9c"><p class="cl-13735bc8"><span class="cl-136ca58a">India</span></p></td><td class="cl-13743ba6"><p class="cl-13735bdc"><span class="cl-136ca58a">20,100</span></p></td><td class="cl-13743ba6"><p class="cl-13735bdc"><span class="cl-136ca58a">25,650</span></p></td><td class="cl-13743ba6"><p class="cl-13735bdc"><span class="cl-136ca58a">26,800</span></p></td><td class="cl-13743ba6"><p class="cl-13735bdc"><span class="cl-136ca58a">27,255</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13743bb0"><p class="cl-13735bc8"><span class="cl-136ca58a">Brazil</span></p></td><td class="cl-13743bb1"><p class="cl-13735bdc"><span class="cl-136ca58a">4,500</span></p></td><td class="cl-13743bb1"><p class="cl-13735bdc"><span class="cl-136ca58a">5,120</span></p></td><td class="cl-13743bb1"><p class="cl-13735bdc"><span class="cl-136ca58a">5,100</span></p></td><td class="cl-13743bb1"><p class="cl-13735bdc"><span class="cl-136ca58a">5,860</span></p></td></tr></tbody></table></div> <img src="../../images/joins_pivots/pivot_command.png" width="100%" /> * List the columns to pivot * Provide 2 **new column names** ] .pull-right[ <div class="tabwid"><style>.cl-13bfd55c{}.cl-13b1424e{font-family:'Arial';font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-13b784b0{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-13b784c4{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-13b7a774{width:0.786in;background-color:rgba(255, 255, 255, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a77e{width:0.625in;background-color:rgba(255, 255, 0, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a788{width:0.752in;background-color:rgba(203, 195, 227, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 1.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a792{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a793{width:0.625in;background-color:rgba(255, 165, 0, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a79c{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a79d{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a7a6{width:0.625in;background-color:rgba(255, 165, 0, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a7a7{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a7a8{width:0.786in;background-color:rgba(173, 216, 230, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a7b0{width:0.625in;background-color:rgba(255, 165, 0, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-13b7a7ba{width:0.752in;background-color:rgba(49, 163, 84, 1.00);vertical-align: middle;border-bottom: 1.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table data-quarto-disable-processing='true' class='cl-13bfd55c'><thead><tr style="overflow-wrap:break-word;"><th class="cl-13b7a774"><p class="cl-13b784b0"><span class="cl-13b1424e">country</span></p></th><th class="cl-13b7a77e"><p class="cl-13b784b0"><span class="cl-13b1424e">year</span></p></th><th class="cl-13b7a788"><p class="cl-13b784c4"><span class="cl-13b1424e">cases</span></p></th></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-13b7a792"><p class="cl-13b784b0"><span class="cl-13b1424e">Nigeria</span></p></td><td class="cl-13b7a793"><p class="cl-13b784b0"><span class="cl-13b1424e">1999</span></p></td><td class="cl-13b7a79c"><p class="cl-13b784c4"><span class="cl-13b1424e">8,000</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a792"><p class="cl-13b784b0"><span class="cl-13b1424e">Nigeria</span></p></td><td class="cl-13b7a793"><p class="cl-13b784b0"><span class="cl-13b1424e">2000</span></p></td><td class="cl-13b7a79c"><p class="cl-13b784c4"><span class="cl-13b1424e">7,500</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a792"><p class="cl-13b784b0"><span class="cl-13b1424e">Nigeria</span></p></td><td class="cl-13b7a793"><p class="cl-13b784b0"><span class="cl-13b1424e">2001</span></p></td><td class="cl-13b7a79c"><p class="cl-13b784c4"><span class="cl-13b1424e">9,250</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a792"><p class="cl-13b784b0"><span class="cl-13b1424e">Nigeria</span></p></td><td class="cl-13b7a793"><p class="cl-13b784b0"><span class="cl-13b1424e">2002</span></p></td><td class="cl-13b7a79c"><p class="cl-13b784c4"><span class="cl-13b1424e">10,200</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a79d"><p class="cl-13b784b0"><span class="cl-13b1424e">India</span></p></td><td class="cl-13b7a7a6"><p class="cl-13b784b0"><span class="cl-13b1424e">1999</span></p></td><td class="cl-13b7a7a7"><p class="cl-13b784c4"><span class="cl-13b1424e">20,100</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a79d"><p class="cl-13b784b0"><span class="cl-13b1424e">India</span></p></td><td class="cl-13b7a7a6"><p class="cl-13b784b0"><span class="cl-13b1424e">2000</span></p></td><td class="cl-13b7a7a7"><p class="cl-13b784c4"><span class="cl-13b1424e">25,650</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a79d"><p class="cl-13b784b0"><span class="cl-13b1424e">India</span></p></td><td class="cl-13b7a7a6"><p class="cl-13b784b0"><span class="cl-13b1424e">2001</span></p></td><td class="cl-13b7a7a7"><p class="cl-13b784c4"><span class="cl-13b1424e">26,800</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a79d"><p class="cl-13b784b0"><span class="cl-13b1424e">India</span></p></td><td class="cl-13b7a7a6"><p class="cl-13b784b0"><span class="cl-13b1424e">2002</span></p></td><td class="cl-13b7a7a7"><p class="cl-13b784c4"><span class="cl-13b1424e">27,255</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a79d"><p class="cl-13b784b0"><span class="cl-13b1424e">Brazil</span></p></td><td class="cl-13b7a7a6"><p class="cl-13b784b0"><span class="cl-13b1424e">1999</span></p></td><td class="cl-13b7a7a7"><p class="cl-13b784c4"><span class="cl-13b1424e">4,500</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a79d"><p class="cl-13b784b0"><span class="cl-13b1424e">Brazil</span></p></td><td class="cl-13b7a7a6"><p class="cl-13b784b0"><span class="cl-13b1424e">2000</span></p></td><td class="cl-13b7a7a7"><p class="cl-13b784c4"><span class="cl-13b1424e">5,120</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a79d"><p class="cl-13b784b0"><span class="cl-13b1424e">Brazil</span></p></td><td class="cl-13b7a7a6"><p class="cl-13b784b0"><span class="cl-13b1424e">2001</span></p></td><td class="cl-13b7a7a7"><p class="cl-13b784c4"><span class="cl-13b1424e">5,100</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-13b7a7a8"><p class="cl-13b784b0"><span class="cl-13b1424e">Brazil</span></p></td><td class="cl-13b7a7b0"><p class="cl-13b784b0"><span class="cl-13b1424e">2002</span></p></td><td class="cl-13b7a7ba"><p class="cl-13b784c4"><span class="cl-13b1424e">5,860</span></p></td></tr></tbody></table></div> ] --- # ggplot command .pull-left[ ```r example %>% pivot_longer( cols = `1999`:`2002`, names_to = "year", values_to = "cases") %>% ggplot(mapping = aes( * x = year, * y = cases, * color = country, * group = country))+ geom_line() ``` **Note** this example is included in your course folder as an R script entitled "example_pivot.R" in the "ebola/scripts/examples" subfolder. ] .pull-right[ <img src="intro08-2_files/figure-html/unnamed-chunk-16-1.png" width="504" /> ] --- # Pivoting wider We won't cover pivoting wider in this course, because it is not as frequently used. You can explore several examples in these Epi R Handbook chapters: * [Pivoting data](https://epirhandbook.com/en/new_pages/pivoting.html) * [Descriptive tables with {dplyr}](https://epirhandbook.com/en/new_pages/tables_descriptive.html) <img src="../../images/joins_pivots/pivot_wider_new_en.png" width="521" height="100%" /> --- class: inverse, center, middle # Exercise! Go to the course website Open the exercise for Module 8 part 2, and login Follow the instructions to return to your "ebola" R project and continue coding in your RMD script Let an instructor know if you are unsure what to do <img src="../../images/breakout/window.png" width="50%" />