---
title: "R Shiny Training Resources"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{R Shiny Training Resources}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

<img src="../man/figures/shiny_logo.png" height = "120" style="background:none; border:none; box-shadow:none;">

# Getting Started with R and Shiny

Below is a collection of resources for getting started in R and Shiny.  

They are listed roughly in the order that I would expect a motivated beginner 
to work through them.  

### Getting Stated with R

- Download R here: https://cran.r-project.org/
- Download the free version of Rstudio here: https://www.rstudio.com/products/rstudio/download/
- Getting Started with R: https://rladiessydney.org/courses/ryouwithme/
- R4DS: https://r4ds.had.co.nz/
  - note: I recommend skimming through the above book and trying out examples. 
  Skip over sections that you do not understand, and you can come back to them
  later.
  
*For a more in-depth walkthrough of setting up R see the [R Setup Guide](https://jimbrig.github.io/rtraining/articles/setting-up-r.html) vignette*


### Getting Started with GitHub

- Create a GitHub account: https://github.com/ . You may need to install git first from here: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- If you are not familiar with git, this article gives a nice overview: https://jahya.net/blog/git-vs-github/
- Try out example 1 from this tutorial: https://github.com/bcgov/bcgov-data-science-resources/wiki/Tutorial:-Intro-to-Git-&-GitHub-for-the-R-User


### A Deeper Dive into R

- Fundamental chapters in Advanced R
   - http://adv-r.had.co.nz/Data-structures.html
   - http://adv-r.had.co.nz/Subsetting.html
   - http://adv-r.had.co.nz/Style.html
- Introduction to the dplyr package for data manipulation: https://cran.r-project.org/web/packages/dplyr/vignettes/dplyr.html 


### Getting Started with Shiny

What is Shiny from Rstudio:
> Shiny is an open source R package that provides an elegant and powerful web framework for building web applications using R. Shiny helps you turn your analyses into interactive web applications without requiring HTML, CSS, or JavaScript knowledge.

- Into to Shiny book: https://laderast.github.io/gradual_shiny/
- Another Intro to Shiny book: https://ourcodingclub.github.io/2017/03/07/shiny.html
- Video on the basics of web development:  https://www.youtube.com/watch?v=FXqTHsPaY0A
- Shiny basics: https://shiny.rstudio.com/articles/basics.html
- More Shiny basics: https://deanattali.com/blog/building-shiny-apps-tutorial/ (Dean Attali, the author of this tutorial is one of my clients)
- Articles on Shiny: https://shiny.rstudio.com/articles/

### Build your own Shiny app and put it on GitHub!

### Full Books on Shiny

- Mastering Shiny: https://github.com/hadley/mastering-shiny
- Engineering Production-Grade Shiny Apps: https://thinkr-open.github.io/building-shiny-apps-workflow/index.html

### Want More?

Here's some more resources gathered from a colleagues recent RShiny learning path: 

- basic overview of R in two hour video: https://www.youtube.com/watch?v=_V8eKsto3Ug&list=PLWKjhJtqVAblQe2CCWqV4Zy3LY01Z8aF1&index=5&t=6791s

- basic overview of shiny web apps(I found it particularly helpful to follow along with the "https://shiny.rstudio.com/images/shiny-cheatsheet.pdf"): https://vimeo.com/rstudioinc/review/131218530/212d8a5a7a/#t=43m32s

- overview of rstudio IDE and github interactions Part 1 and Part 2 -
   - https://resources.rstudio.com/wistia-rstudio-essentials-2/rstudioessentialsmanagingpart1-2
   - https://resources.rstudio.com/wistia-rstudio-essentials-2/rstudioessentialsmanagingpart2-2

- useful R for data science chapters: 
   - workflow:basics link: https://r4ds.had.co.nz/workflow-basics.html
   - workflow:projects link: https://r4ds.had.co.nz/workflow-projects.html
   - tibbles link: https://r4ds.had.co.nz/tibbles.html
   - tidy data link: https://r4ds.had.co.nz/tidy-data.html
   - functions link: https://r4ds.had.co.nz/functions.html
   - vectors link:https://r4ds.had.co.nz/vectors.html
   - iterations with purr link: https://r4ds.had.co.nz/iteration.html

- learn about dplyr package for data manipulation: https://cran.r-project.org/web/packages/dplyr/vignettes/dplyr.html 

- learn about shiny dashboards: http://rstudio.github.io/shinydashboard/

- list of cheats sheats and resources found here: https://resources.rstudio.com/

- highcharter API for rich graphics and charts: http://jkunst.com/highcharter/highcharts-api.html

- Article on Databases: https://shiny.rstudio.com/articles/persistent-data-storage.html

Built in tutorials for packages can be accessed through the learnr package.
For example if you library learnr and tidyverse, the top right panel of RStudio can display a walk through of different functions in the tidyverse package.  Blog post describing package: https://blog.rstudio.com/2020/02/25/rstudio-1-3-integrated-tutorials/



