-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.qmd
58 lines (53 loc) · 29.8 KB
/
index.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
---
title: "Course Schedule"
tbl-colwidths: [5,10,20,20,25,5,5,5,5,5]
editor: visual
---
```{r}
#| label: setup
#| include: false
library(lubridate)
wed <- as_date("2024-08-21")
fri <- wed+days(2)
advdate <- function(day, week) {
date <- (day + weeks(week))
dm <- paste(month(date, label = TRUE)," ", day(date))
return(dm)
}
```
This page displays an outline of the topics, content, and assignments for the term. Each module starts on a Wednesday. **Note that all of your coding and project assignments are due on the Monday after they are assigned at 11:59 p.m.**
::: column-screen-inset-right
| Module | Date | Skills | Packages | Functions | Readings | Reference | Slides | Videos | Assignments |
|:------:|--------|--------|--------|--------|:------:|:------:|:------:|:------:|:------:|
| | `r advdate(fri,0)` | Course Intro | | | | | | | |
| [GS](/modules/getting-started.qmd "Getting Started") | `r advdate(wed,1)` | RStudio and Quarto | | | | [📖](https://www.tidyverse.org/blog/2017/12/workflow-vs-script/ "project-oriented workflow") | [🖥️](slides/week-2.1.qmd) | [🖥️](https://youtu.be/gssjyyl7vxI "R and RStudio") | |
| | `r advdate(fri,1)` | More with Quarto | | | | [📖](https://happygitwithr.com/ "Chaps 4, 6, 7, 9 & 12") | [🖥️](slides/week-2.2.qmd) | [🖥️](https://youtu.be/c654j7aQjcg "Quarto")[🖥️](https://youtu.be/ApvMnAfQe8A "GitHub and GitHub Classroom") | |
| [1.1](/modules/module-1.1.qmd "Module 1.1") | `r advdate(wed,2)` | Read data into R | `readr`, `dplyr` | `read_csv()`, `glimpse()` | | [📖](https://r4ds.hadley.nz/data-import.html#introduction "r4ds 8.1 & 8.2") | [🖥️](slides/week-3.1.qmd) | [🖥️](https://youtu.be/YLOaKB8dfF4 "Downloading World Bank data")[🖥️](https://youtu.be/XOGXn8IiHK8 "Reading data from a flat file") | |
| | `r advdate(fri,2)` | Reshape, clean data | `tidyr, dplyr` | `pivot_longer(), mutate()`, `mutate_at()`, `substring()` | | [📖](https://r4ds.hadley.nz/data-tidy.html "r4ds 6.1 & 6.3") | [🖥️](slides/week-3.2.qmd) | [🖥️](https://youtu.be/ud36szsO9a4 "Reshaping data")[🖥️](https://youtu.be/-JT8JSR1z5A "Strings & variable types")[🖥️](https://youtu.be/7bgoebbzfKQ "Cleaning var names") | |
| [1.2](/modules/module-1.2.qmd "Module 1.2") | `r advdate(wed,3)` | Download data | `wbstats`, `vdemdata`, `dplyr`, `janitor` | `wb_data()`, `vdem`, `select_()`, `filter()`, `case_match()`, `round_to_fraction()` | [📖](https://link.springer.com/article/10.1057/palgrave.ap.5500151 "Norris") | | [🖥️](slides/week-4.1.qmd) | [🖥️](https://youtu.be/cBRTP2imt_o "Dowload data from the World Bank")[🖥️](https://youtu.be/7CvYTeMP_PU "Filter data and select variables") | |
| | `r advdate(fri,3)` | Merge data frames, group, summarize and arrange | `countrycode`, `dplyr` , `readr` | `countrycode()`, `left_join()`, `write_csv()`, `group_by()`, `summarize()`, `arrange()` | | [📖](https://r4ds.hadley.nz/joins.html#sec-mutating-joins "r4ds, 20.3") [📖](https://r4ds.hadley.nz/data-transform.html#groups "r4ds, 4.5") | [🖥️](slides/week-4.2.qmd) | [🖥️](https://youtu.be/ZGD0kO_iwAM "Add country codes to data frame")[🖥️](https://youtu.be/wNF3ZPneHWw "Merge two data frames")[🖥️](https://youtu.be/2nX9p6arQjg "Group, summarize and arrange") | [🧮](/assignments/coding-assignment-1.qmd "Coding Assignment 1") |
| [2.1](/modules/module-2.1.qmd "Module 2.1") | `r advdate(wed,4)` | Bar charts & histograms | `ggplot2` | `ggplot()`, `geom_col()`, `geom_histogram()`, `aes()`, `labs()` | | [📖](https://r4ds.hadley.nz/data-visualize.html "r4ds, 2")[📖](https://r4ds.hadley.nz/communication.html#labels "r4ds, 12.2") | [🖥️](slides/week-5.1.qmd) | [🖥️](https://youtu.be/hl02sVTyCRA "Bar charts")[🖥️](https://youtu.be/LuNDAIQXx9w "Histograms") | |
| | `r advdate(fri,5)` | Line charts & scatter plots | `ggplot2`, `scales` | `geom_line()` , `geom_point()`, `geom_smooth()`, `scale_x_log10(),` `label_number()`, `geom_text()` | | [📖](https://r4ds.hadley.nz/layers.html "r4ds, 10.1-10.4") | [🖥️](slides/week-5.2.qmd) | [🖥️](https://youtu.be/cHos9y261SQ "Line charts")[🖥️](https://youtu.be/Cvme3C268wE "Scatter plots") | |
| [2.2](/modules/module-2.2.qmd "Module 2.2") | `r advdate(wed,5)` | Color schemes | `tidyr`, `colorBlindess`, `dplyr`, `viridis`, `RColorBrewer` | `drop_na()`, `cvdPlot()`, `scale_fill_manual()`, `scale_fill_viridis_d()`, `scale_fill_brewer()`, `scale_color_manual()`, `scale_color_viridis_d()`, `scale_color_brewer` | [📖](https://www-jstor-org.proxygw.wrlc.org/stable/1951731?seq=8 "Lipset") | [📖](https://r4ds.hadley.nz/communication.html#scales "r4ds, 12.4") | [🖥️](slides/week-6.1.qmd) | [🖥️](https://youtu.be/fBCtSjg_-Ik "Color schemes") | |
| | `r advdate(fri,5)` | Themes, annotations & interactivity | `ggplot2` , `plotly` | `theme_dark()`, `theme_minimal()`, `annotate()`, `geom_hline()`, ``` geom_vline(),``ggplotly() ```, `layout()` | | [📖](https://r4ds.hadley.nz/communication.html#annotations "r4ds, 12.3 & 12.5") | [🖥️](slides/week-6.2.qmd) | [🖥️](https://youtu.be/Le0OJXdsy3o "Themes")[🖥️](https://youtu.be/uEpBMgWilXc "Annotations")[🖥️](https://youtu.be/T-7jtbcwaJ0 "Interactivity") | [🧮](/assignments/coding-assignment-2.qmd "Coding Assignment 2") |
| [3.1](/modules/module-3.1.qmd "Module 3.1") | `r advdate(wed,6)` | Map data with choropleth maps | `rnaturalearth`, `ggplot2`, `ggthemes` , `virids` | `ne_countries()`, `geom_sf()`, `theme_map()` , `theme()` , `scale_fill_viridis_c()` | | | [🖥️](slides/week-7.1.qmd) | [🖥️](https://youtu.be/HB3PMF93hzs "Choropleth maps")[🖥️](https://youtu.be/5RnnGov3Iw4 "Map World Bank data") | |
| | `r advdate(fri,6)` | Turn your map into a function | | `souce()`, `function()` | [📖](https://www-jstor-org.proxygw.wrlc.org/stable/j.ctt7s3wz.10 "Ross, Chapter 3") | [📖](https://r4ds.hadley.nz/functions "r4ds, chap. 25") | [🖥️](slides/week-7.2.qmd) | [🖥️](https://youtu.be/m42vrbEEHT4 "Turn your map into a function") | |
| [3.2](/modules/module-3.2.qmd "Module 3.2") | `r advdate(wed,7)` | Make a leaflet map | `states`, `sf` , `leaflet,` `htmltools` | `leaflet()`, `st_as_sf()` , `addTiles()`, `addMarkers()`,`addProviderTiles()` | | | [🖥️](slides/week-8.1.qmd) | [🖥️](https://youtu.be/If2PwFv90iI "Upload UCDP data")[🖥️](https://youtu.be/hHUPqgHRqYU "Make a leaflet map")[🖥️](https://youtu.be/qLYeSsoDvgs "Customize your map") | [🧮](/assignments/coding-assignment-3.qmd "Coding Assignment 3") |
| | `r advdate(fri,7)` | No class, fall break | | 🍁🍂🎃 | | | | | |
| [4.1](/modules/module-4.1.qmd "Module 4.1") | `r advdate(wed,8)` | Exploring tabular data | `tidycensus`, `dplyr`, `stringr`, `kableExtra` | `census_api_key()`, `load_variables()`, `get_acs()`, `rename()`, `rename_with`, `str_remove()`, `kable()`, `slice_max()`, `slice_min()`, `slice_sample()`, `bind_rows()` | | | [🖥️](slides/week-9.1.qmd) | [🖥️](Working%20with%20tidycensus "https://www.youtube.com/embed/wo9vZccmqwc")[🖥️](https://www.youtube.com/embed/wo9vZccmqwc "Explore data with kableExtra") | |
| | `r advdate(fri,8)` | Make a `gt` table, make confidence intervals with ggplot2 | `gt` , `ggplot2` | `gt()`, `tab_header()`, `cols_label()`, `fmt_currency()`, `tab_source_note()`, `cols_width()`, `opt_table_font()`, `cols_align()`, `tab_options()`, `gtsave()` , `geom_errorbar()` | | | [🖥️](slides/week-9.2.qmd) | [🖥️](https://www.youtube.com/embed/wo9vZccmqwc "Make a gt table")[🖥️](https://www.youtube.com/embed/wo9vZccmqwc "Make a coefficient plot") | |
| [4.2](/modules/module-4.2.qmd "Module 4.2") | `r advdate(wed,9)` | Display regression tables | `peacesciencer`, `broom`, `dplyr` | `create_stateyears()`, `add_ucdp_acd()`, `add_democracy()`, `add_creg_fractionalization()`, `add_sdp_gdp()`, `add_rugged_terrain()`, `tidy()`, `mutate_if()`, `glm()`, `binomial()` | [📖](https://www.jstor.org/stable/3118222 "Fearon & Laitin") | | [🖥️](slides/week-10.1.qmd) | 🖥️ | |
| | `r advdate(fri,9)` | Make regression tables and coefficient plots | `modelsummary` | `list()`, `modelsummary()`, `modelplot()`, `rev()` | | | | 🖥️🖥️ | [🧮](/assignments/coding-assignment-4.qmd "Coding Assignment 4") |
| [5.1](/modules/module-5.1.qmd "Module 5.1") | `r advdate(wed,10)` | Scatter plot app setup, building the UI | `dplyr` , `shiny` | `summarize_all()`, `fluidPage()`, `titlePanel()`, `sidebarLayout()`, `sidebarPanel()`, `selectInput()`, `mainPanel()`, `plotOutput()` | | | [🖥️](slides/week-11.1.qmd) | 🖥️🖥️ | |
| | `r advdate(fri,10)` | Building the server | `shiny` | `renderPlot()`, `shinyApp()` | | | [🖥️](slides/week-11.2.qmd) | 🖥️ | [✍️](project/project-assignment-1.qmd "Project Assignment 1") |
| [5.2](/modules/module-5.2.qmd "Module 5.2") | `r advdate(wed,11)` | Line chart app setup, building the UI | `fredr` , `shiny` | `fredr_set_key()` , `as.Date()` , `Sys.Date()` , `column()`, `wellPanel()`, `helpText()`, `sliderInput()` | [📖](https://muse-jhu-edu.proxygw.wrlc.org/article/225602 "Huntington") | | [🖥️](slides/week-12.1.qmd) | 🖥️🖥️ | |
| | `r advdate(fri,11)` | Building the server | `fredr` , `shiny` | `reactive()`, `fredr()`, `fred_indicator()` | | | [🖥️](slides/week-12.2.qmd "Week 12.2 slides") | 🖥️ | [🧮](/assignments/coding-assignment-5.qmd "Coding Assignment 5") |
| [6.1](/modules/module-6.1.qmd "Module 6.1") | `r advdate(wed,12)` | Building your app | | | | | [🖥️](slides/week-13.1.qmd) | 🖥️ | |
| | `r advdate(fri,12)` | Troubleshooting your app | | | | | [🖥️](slides/week-13.2.qmd) | | [✍️](project/project-assignment-2.qmd "Project Assignment 2") |
| [6.2](/modules/module-6.2.qmd "Module 6.2") | `r advdate(wed,13)` | Sharing your app | | | | | | 🖥️ | |
| | `r advdate(fri,13)` | Shinylive | | | | | | | |
| | `r advdate(wed,14)` | No class, Thanksgiving break | | 🦃🥧🍂 | | | | | |
| | `r advdate(fri,14)` | No class, Thanksgiving break | | | | | | | |
| | `r advdate(wed,15)` | Lightning talks | | | | | | | |
| | `r advdate(fri,15)` | Lightning talks | | | | | | | [✍️](project/project-assignment-3.qmd "Project Assignment 3") |
:::