-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy path00-20-syllabus.Rmd
More file actions
207 lines (146 loc) · 5.38 KB
/
00-20-syllabus.Rmd
File metadata and controls
207 lines (146 loc) · 5.38 KB
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
# Syllabus {-}
<!--
You can label chapter and section titles using `{#label}` after them, e.g., we can reference Chapter \@ref(intro). If you do not manually label them, there will be automatic labels anyway, e.g., Chapter
Figures and tables with captions will be placed in `figure` and `table` environments, respectively.
```{r nice-fig, fig.cap='Here is a nice figure!', out.width='80%', fig.asp=.75, fig.align='center'}
par(mar = c(4, 4, .1, .1))
plot(pressure, type = 'b', pch = 19)
```
Reference a figure by its code chunk label with the `fig:` prefix, e.g., see Figure \@ref(fig:nice-fig). Similarly, you can reference tables generated from `knitr::kable()`, e.g., see Table \@ref(tab:nice-tab).
```{r nice-tab, tidy=FALSE}
knitr::kable(
head(iris, 20), caption = 'Here is a nice table!',
booktabs = TRUE
)
```
You can write citations, too. For example, we are using the **bookdown** package [@R-bookdown] in this sample book, which was built on top of R Markdown and **knitr** [@xie2015].
Here you will find the schedule and the topics that will be covered in each lesson.
## Schedule
### May {-}
| Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
|-------- |--------- |----------- |---------- |-------- |---------- |-------- |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | | | |
### June {-}
| Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
|-------- |--------- |----------- |---------- |-------- |---------- |-------- |
| | | | | 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 | |
### July {-}
### August {-}
-->
The bulk of the material comes from the [R for Data Science by Hadley Wickham and Garrett Grolemund](http://r4ds.had.co.nz/).
There are additional topics that come from [Software-Carpentry](https://software-carpentry.org/lessons/),
and various other materials found online.
Supplemental material comes from an appropriate [DataCamp](https://www.datacamp.com/) course.
Each chapter (and sometimes a set of chapters) can be taught within a 3 hour block with a break roughly every 45 minutes.
The total amount of material cover's roughly a months worth of material (3 Hours a day, 5 Days a week).
The introduction page for each chapter contains links to relevent chapters and additional resources.
## Lesson Breakdown {-}
### Lesson 1 {-}
Goals:
1. Get up and running in the lab
2. Know what bits of infrastructure we have
3. Introduction to R through visualization
4. How to load your own data into R
- Getting setup
- Getting the shell
- SSH keys
- The SDAL Infrastructure
- RStudio
- The other tools availiable
- Shell (Bash)
- The "Tidyverse" ecosystem
- Scripts and running R code
- Exploring your data through visualizations (`ggplot2`)
- Loading and saving a datasets (`readr`, `haven`)
### Lesson 2 {-}
Goals:
1. Introduction to Markdown (`rmarkdown`) and `knitr`
- Take "pretty" notes with "simple" notation
- Learn how to create basic reports with your code
2. What the code projects look like
3. Working with git locally
- Markdown
- Knitr
- The project template
- Workflow basics
- Projects
- Git (locally)
### Lesson 3 {-}
Goals:
1. Git with an eye towards collaboration
2. Working with remotes (GitHub and GitLab)
3. Collaborating with branches
- Git (remotes)
- Git (branches)
- Git (collaboration)
### Lesson 4 {-}
Goals:
1. Start the process of manipulating data
2. Perform data subsetting and aggregations
3. Explore data with basic statistics and visualizations
4. Reshaping data and fixing common data problems through the tidying process
- Transform data with (`dplyr`)
- Pipes (`%>%`)
- Exploratory Data Analysis (EDA)
- `tibble`, the tidyverse "dataframe"
- Tidying data (`tidyr`)
### Lesson 5 {-}
Goals:
1. Understanding relational data
2. Merging datasets together
3. Work with relational data in a database
4. Writing SQL code and how to run them from within R
- Relational Data in R (`dplyr`)
- Working with databases
- SQLite
- PostgreSQL
- SQL
- Working with SQL in your R code
### Lesson 6 {-}
Goals:
1. Work with strings, factors, and date time values in R
- Strings
- Factors (`forcats`)
- Dates and Times
### Lesson 7 {-}
1. Programming "fundamentals"
- Functions
- Vectors
- Loops
- Functions
- Vectors
- Iteration
- `purrr`
- for loops
### Lesson 8 {-}
Goals:
1. The dialects of R
2. Review of tidyverse functions
3. How tidyverse relates to base R
- The base R data.frame object
- apply family of functions
4. How data.table playes a role in the R ecosystem
- `base` R
- `data.table`
- `tidyverse`
### Lesson 9 {-}
- Working with geospatial data with `sf`
### Lesson 10 {-}
Goals:
1. Web scraping
- API
- Scrape
### Lesson 11 {-}
- Communication
- R Markdown
- Graphics
- R Markdown formats
- Shiny