-
Notifications
You must be signed in to change notification settings - Fork 6
/
resources.Rmd
304 lines (240 loc) · 15 KB
/
resources.Rmd
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
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
---
title: "Resources"
output:
html_document
---
```{r, include = FALSE}
library(dplyr)
library(kableExtra)
```
Here are additional resources to help you on your R journey - either before, during, or after the class! Click each section to expand.
<br>
<details open><summary> <span style = "color: #5383bb;"> **Help Getting Started**</span></summary><br>
- [Guide to using Slack]( https://slack.com/help/articles/218080037-Getting-started-for-new-Slack-users)
- [R reference card](http://cran.r-project.org/doc/contrib/Short-refcard.pdf)
- [R introductory guide](https://cran.r-project.org/doc/manuals/r-release/R-intro.html)
- [R jargon](https://link.springer.com/content/pdf/bbm%3A978-1-4419-1318-0%2F1.pdf)
- [R terminology](https://cran.r-project.org/doc/manuals/r-release/R-lang.pdf)
- [What is the Tidyverse/what packages are in it?](https://www.tidyverse.org/packages/)
- [Where do package names come from?](https://www.statworx.com/en/content-hub/blog/why-is-it-called-that-way-origin-and-meaning-of-r-package-names/)
- [Lawlor et al. 2022](https://doi.org/10.1371/journal.pcbi.1010372): Ten simple rules for teaching yourself R
</details>
<br>
<details><summary> <span style = "color: #5383bb;"> **Class Cheatsheets**</span></summary><br>
- [Day 1 - RStudio & Reproducibility Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-1.pdf)
- [Day 2 - Basic R & Data Input/Output Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-2.pdf)
- [Day 3 - Data Subsetting Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-3.pdf)
- [Day 4 - Data Summarization & Data Classes Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-4.pdf)
- [Day 5 - Data Cleaning Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-5.pdf)
- [Day 6 - Data Manipulation & Data Visualization `esquisse` Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-6.pdf)
- [Day 7 - Data Visualization `ggplot2` & Factors Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-7.pdf)
- [Day 8 - Statistics Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-8.pdf)
- [Day 9 - Functions Cheatsheet](https://jhudatascience.org/intro_to_r/modules/cheatsheets/Day-9.pdf)
- [Additional RStudio "Cheatsheets"](https://www.rstudio.com/resources/cheatsheets/)
- [Really great `stringr` Cheatsheet](https://evoldyn.gitlab.io/evomics-2018/ref-sheets/R_strings.pdf)
</details>
<br>
<details><summary> <span style = "color: #5383bb;"> **Troubleshooting Guides**</span></summary><br>
- [Guide on when to use quotes or backticks](https://jhudatascience.org/intro_to_r/resources/quotes_vs_backticks.html)
- [Guide on what functions require pulling values out first](https://jhudatascience.org/intro_to_r/resources/functions_for_vectors.html)
</details>
<br>
<details><summary> <span style = "color: #5383bb;"> **Keyboard Shortcuts**</span></summary><br>
- RStudio shortcuts can be found [here](<http://www.rstudio.com/ide/docs/using/keyboard_shortcuts>)
- Shortcut for the `%in%` operator can be found [here](https://stackoverflow.com/questions/58714081/is-there-a-shortcut-for-in)
</details>
<br>
<details open><summary> <span style = "color: #5383bb;"> **Extra help**</span></summary><br>
**Need help with data import?**
- [Video on data import](https://youtu.be/LEkNfJgpunQ)
- [Video](https://www.youtube.com/watch?v=we6vwB7DsNU) for PC users who want to see how to move files around (especially from downloads)
- [Video](https://www.youtube.com/watch?v=Ao9e0cDzMrE) for Mac users who want to see how to move files around (especially from downloads)
- [Extra information about file paths](https://docs.google.com/presentation/d/18u1Vhd3Uq-QprC0btpxS_-Ka-LKVUvncyoqdbGdb-g4/edit?usp=sharing)
**Need extra guidance on wrangling?**
- [Guide on `janitor`](https://hutchdatascience.org/data_snacks/r_snacks/janitor.html)
- [Guide on cleaning complicated names](https://jhudatascience.org/intro_to_r/resources/cleaning_names.html)
**Need help with joins?**
- [`full-join()` animation](https://github.com/gadenbuie/tidyexplain/blob/master/images/full-join.gif)
- [`inner_join()` animation](https://github.com/gadenbuie/tidyexplain/blob/master/images/inner-join.gif)
- [`left-join()` animation](https://github.com/gadenbuie/tidyexplain/blob/master/images/left-join.gif)
- [`right-join()` animation](https://github.com/gadenbuie/tidyexplain/blob/master/images/right-join.gif)
**Need help with plots?**
- [`ggplot2` gallery](https://r-graph-gallery.com/ggplot2-package.html) - See what is possible with `ggplot2` to create graphs in R
- [`ggplot2` theme cheatsheet](https://github.com/claragranell/ggplot2/blob/main/ggplot_theme_system_cheatsheet.pdf)
- [Visualization best practices](https://jhudatascience.org/tidyversecourse/dataviz.html#making-good-plots)
- [Guide on when to use which plot](https://infogram.com/page/choose-the-right-chart-data-visualization)
- [Guide to building up a `ggplot2` figure](https://hopstat.wordpress.com/2016/02/18/how-i-build-up-a-ggplot2-figure/)
**Need help with stats?**
- [Guide on when to use what stats test](https://www.scribbr.com/statistics/statistical-tests/)
- [Modeling 101](https://jhudatascience.org/tidyversecourse/model.html#linear-modeling)
- [Common statistical tests are linear models](https://lindeloev.github.io/tests-as-linear/) (why understanding linear models will get you far!)
- [Interpreting GLM output (e.g., deviance)](https://www.statology.org/null-residual-deviance/)
- [Guide on why `set.seed` can be useful](https://rsample.tidymodels.org/reference/bootstraps.html)
**Want help creating tables?**
- [Guide on making nice tables from stats tests in R](https://www.danieldsjoberg.com/gtsummary/articles/tbl_summary.html)
</details>
- [Guide on making custom styled tables in R with the `kableExtra` package](https://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_html.html)
- [Guide on using DT table to make interactive tables](https://rstudio.github.io/DT/)
<br>
<details><summary> <span style = "color: #5383bb;"> **Courses & Conferences**</span></summary><br>
#### **Online Courses and Resources**
- [Tidyverse Skills for Data Science Book](https://jhudatascience.org/tidyversecourse/) (**a great next step** to learn more about the tidyverse, some modeling, and machine learning)
- [Tidyverse Skills for Data Science Course](https://www.coursera.org/specializations/tidyverse-data-science-r) (same content with quizzes, can get certificate with $)
- [Open Case Studies](https://www.opencasestudies.org/)
(resource for specific public health cases with statistical implementation and interpretation - **a great next step** for learning more about stats and wrangling!)
- [R for Data Science](http://r4ds.had.co.nz/) (great general information)
- [R for Applied Epidemiology](https://epirhandbook.com/en/) (Similar general introductory course)
- [R basics chapter of Introduction to Data Science by Rafael A. Irizarry](https://rafalab.github.io/dsbook/r-basics.html)(great general information)
- [Dataquest](https://www.dataquest.io/) (general interactive resource)
- [Quick R Guide]( http://statmethods.net/) (nice free general resource)
- [Introduction to Reproducibility](https://jhudatascience.org/Reproducibility_in_Cancer_Informatics/)
- [Advanced Reproducibility](https://jhudatascience.org/Adv_Reproducibility_in_Cancer_Informatics/)
#### **Classes at JHU**
- [PH.140.621, PH.140.622, PH.140.623, PH.140.62 - Statistical Methods in Public Health I, II, III, and IV](https://e-catalogue.jhu.edu/course-descriptions/biostatistics/) - The class is mostly taught in STATA, but you can also join a group of students working in R. The class covers many topics in statistical analysis for public health data.
- [PH.140.778 - Statistical Computing, Algorithm, and Software Development](https://www.jhsph.edu/courses/course/36737/2022/140.778.01/statistical-computing-algorithm-and-software-devel) - A more advanced course for working with data in R.
- Content for similar topics as this course can also be found on [Leanpub](https://leanpub.com/advstatcomp).
#### **R Conferences**
- The [RStudio/Posit conference](https://posit.co/conference/) has lots of useful workshops!
- useR! — International R User Conference information can be found [here](https://www.r-project.org/conferences/).
</details>
<br>
<details><summary> <span style = "color: #5383bb;"> **R for Stata, SPSS, and SAS files**</span></summary><br>
- The [Haven](https://haven.tidyverse.org/) package
(This package is super useful for reading and writing files so that they are compatible across Stata, SPSS, SAS, and R)
- [R vs Stata](https://link.springer.com/content/pdf/bbm%3A978-1-4419-1318-0%2F1.pdf)
(See page 505)
- [R <-> SAS Cheatsheet](https://raw.githubusercontent.com/rstudio/cheatsheets/main/sas-r.pdf)
- [SAS to R Converter](https://www.codeconvert.ai/sas-to-r-converter)
- [Guide to learning R as a SAS user](https://hutchdatascience.org/data_snacks/r_snacks/sas2r.html)
- You might also find large language models like ChatGPT useful for code conversion. Be sure to check the output because AI makes mistakes!
</details>
<br>
<details><summary> <span style = "color: #5383bb;"> **Comparison of Python and R**</span></summary><br>
- A helpful [article about the difference between these two languages](https://www.ibm.com/think/topics/python-vs-r).
</details>
<br>
<details><summary> <span style = "color: #5383bb;"> **Videos of Previous Online Lectures**</span></summary><br>
**From Summer Institute 2023**
```{r, echo = FALSE, message = FALSE, results='asis'}
mat <- matrix(c(
"Introduction", "https://youtu.be/aIJrFKQYnP8",
"RStudio", "https://youtu.be/cxHVf5rTK1c",
"Reproducibility", "https://youtu.be/af9B9-_df1o",
"Basic R", "https://youtu.be/5io-iZDutH8",
"Data Input", "https://youtu.be/sllVVRD5YE4",
"Subsetting Data", "https://youtu.be/dWdK3bnAGm8",
"Data Classes", "https://youtu.be/Q4ubnU35TUs",
"Data Summarization", "https://youtu.be/xsI30yCGgTQ",
"Data Cleaning", "https://youtu.be/qL6_yfiR9Jk",
"Data Manipulation", "https://youtu.be/fQ7lDp8Svw0",
"Intro to Data Visualization", "https://youtu.be/D5RdNwadtR0",
"Data Visualization", "https://youtu.be/fKj1iBxLwyk",
"Factors", "https://youtu.be/yqU5zHVh-qA",
"Statistics", "https://youtu.be/T9Oh0miYhZ0",
"Data Output", "https://youtu.be/x2OuR4JhPLY",
"Functions", "https://youtu.be/jWv5RSXq5mo"
), ncol = 2, byrow = TRUE)
mat <- data.frame(mat, stringsAsFactors = FALSE)
colnames(mat) <- c("Day", "Link to Video")
knitr::kable(mat, format = "html") %>%
kable_styling()
```
**From Summer Institute 2022**
```{r, echo = FALSE, message = FALSE, results='asis'}
mat <- matrix(c(
"RStudio and Reproducibility", "https://www.youtube.com/watch?v=eCsD0f0q6rY&t=9s",
"Basic R", "https://www.youtube.com/watch?v=2YRgDG3qsho",
"Data IO", "https://www.youtube.com/watch?v=ejnBAdA2N1c",
"Subsetting Data", "https://www.youtube.com/watch?v=GFa6dXAezJg",
"Data Summarization", "https://www.youtube.com/watch?v=kj_69maSANk",
"Data Classes", "https://www.youtube.com/watch?v=zoVciFJieLY&t=21s",
"Data Cleaning", "https://www.youtube.com/watch?v=GhK8xMUBNwg",
"Data Manipulation", "https://www.youtube.com/watch?v=qP73AWUjfAU",
"Intro to Data Visualization", "https://www.youtube.com/watch?v=OCVo6vWrKL4",
"Data Visualization", "https://www.youtube.com/watch?v=9UPlZqOfT_s",
"Factors", "https://www.youtube.com/watch?v=0fE756trEEE",
"Statistics", "https://www.youtube.com/watch?v=jZ5sskAdAJU&t=4s",
"Functions", "https://www.youtube.com/watch?v=dx-85RzN1G0"
), ncol = 2, byrow = TRUE)
mat <- data.frame(mat, stringsAsFactors = FALSE)
colnames(mat) <- c("Day", "Link to Video")
knitr::kable(mat, format = "html") %>%
kable_styling()
```
**From Winter Institute 2022**
```{r, echo = FALSE, message = FALSE, results='asis'}
mat <- matrix(c(
"RStudio", "https://youtu.be/zpAQrglIJb0",
"Basic R", "https://youtu.be/_8ZG0G1nNlA",
"Reproducibility", "https://youtu.be/ChFTiZ7Clo4",
"Data IO", "https://youtu.be/bnYN7AfYGNM",
"Subsetting Data", "https://youtu.be/kPU3dl25ox8",
"Data Summarization", "https://youtu.be/C_a8bGGdrIA",
"Data Classes", "https://youtu.be/ZCe30kIJ0Xc",
"Data Cleaning", "https://youtu.be/siFL49CCsJg",
"Data Manipulation", "https://youtu.be/7M81XUIY5SE",
"Intro to Data Visualization", "https://youtu.be/Md46muvSrYE",
"Data Visualization", "https://youtu.be/YjDT3ZUSiR4",
"Factors", "https://youtu.be/Co4l0YhuYSk",
"Statistics", "https://youtu.be/3nSIN1mu8uw",
"Functions", "https://youtu.be/XUKJtUYU1Ic"
), ncol = 2, byrow = TRUE)
mat <- data.frame(mat, stringsAsFactors = FALSE)
colnames(mat) <- c("Day", "Link to Video")
knitr::kable(mat, format = "html") %>%
kable_styling()
```
**From Summer Institute 2021**
```{r, echo = FALSE, message = FALSE, results='asis'}
mat <- matrix(c(
"RStudio", "https://youtu.be/zpAQrglIJb0",
"Basic R", "https://youtu.be/md30mwFJ2_Q",
"Data IO", "https://youtu.be/6xNyETqIqZU",
"Subsetting Data", "https://youtu.be/YeBSc2YXr4U",
"Data Summarization Part 1 + 2", "https://youtu.be/yL3BGDWtVC4",
"Data Classes", "https://youtu.be/zBCvbikMTAc",
"Data Cleaning", "https://youtu.be/TaREvr5evwk",
"Data Manipulation", "https://youtu.be/-039V99I-PE",
"Reproducibility", "https://youtu.be/ui9dJLqtdCs",
"Statistics", "https://youtu.be/EJwlBoBHoz4",
"Data Visualization", "https://youtu.be/ngQX9khx7UQ",
"Functions", "https://youtu.be/epIujSKgNi4"
), ncol = 2, byrow = TRUE)
mat <- data.frame(mat, stringsAsFactors = FALSE)
colnames(mat) <- c("Day", "Link to Video")
knitr::kable(mat, format = "html") %>%
kable_styling()
```
**From Winter Institute 2020**
```{r, echo = FALSE, message = FALSE, results='asis'}
mat <- matrix(c(
"RStudio and Data Classes", "https://youtu.be/vyIsDnsq5jY",
"Subsetting Data", "https://youtu.be/mT8lSagYbjM",
"Data Summarization Part 1", "https://youtu.be/SZYpzt9zy0g",
"Data Classes", "https://youtu.be/82zSA1N0mnA",
"Data Cleaning", "https://youtu.be/G3V2YPaQN34",
"Data Manipulation", "https://youtu.be/43MPdw5bf4o",
"Statistics 1", "https://youtu.be/Jr4ljyzrr4U",
"Statistics 2", "https://youtu.be/ub2BSbK9lMM"
), ncol = 2, byrow = TRUE)
mat <- data.frame(mat, stringsAsFactors = FALSE)
colnames(mat) <- c("Day", "Link to Video")
knitr::kable(mat, format = "html") %>%
kable_styling()
```
**From Summer Institute 2017**
```{r videos, echo = FALSE, message = FALSE, results='asis'}
mat <- matrix(c(
"Day 1", "https://youtu.be/Xi-wsACc7p0",
"Day 2", "https://youtu.be/u1FQt9Hr8iw",
"Day 3", "https://youtu.be/woc7AGJTzZw",
"Day 4", "https://youtu.be/RZ7eVIMPIes",
"Day 5", "https://youtu.be/e8cFV8wluC0"
), ncol = 2, byrow = TRUE)
mat <- data.frame(mat, stringsAsFactors = FALSE)
colnames(mat) <- c("Day", "Link to Video")
knitr::kable(mat, format = "html") %>%
kable_styling()
```
</details>
<br>