Director of Online Education

Associate Teaching Professor

Justin_Post@ncsu.edu (NC State)

919.515.0637

I’ve taught the following three courses for Data Matters a week-long series of one and two-day courses aimed at students and professionals in business, research, and government from 2016-2023. The material is open to anyone. Feel free to use these materials for educational purpose!

This course introduces the powerful and popular `R`

statistical software
through the RStudio integrated development environment. `R`

is fully
developed programming language and one of the major platforms for doing
data science. This course covers frequently used data structures,
importing raw data, common data manipulations, summary statistics, and
data visualizations through the suite of packages called the
`tidyverse`

.

The course provides a modern introduction to the `R`

through the
extremely popular suite of packages called the `tidyverse`

. A rough
outline is given below:

Day 1:

- Basics of how
`R`

stores data `R`

packages and the`tidyverse`

- Reading data from common formats into
`R`

(`readr`

package) - Using
`R Markdown`

for reproducibility (`rmarkdown`

and`knitr`

packages) - Common data manipulations and creating new variables (
`dplyr`

package)

Day 2:

- Reshaping data for summarizing and modeling (
`tidyr`

package) - Types of data and numeric summaries (including across groups)
- Creating publication ready graphs (
`ggplot2`

package)

This course introduces common programming techniques that can improve
the efficiency of your `R`

programs. These techniques include the use of
loops and vectorized functions to avoid repeated sections of code. To
really take `R`

programs to the next level, we’ll see how to write
custom functions that will help to streamline code.

The course provides a brief overview of `R`

data structures followed by
the following topics:

- Loops in
`R`

- Vectorized functions (
`apply`

family of functions) - How
`R`

functions work - Function writing

The course provides participants an introduction to utilizing `R`

for
writing reproducible reports and presentations that easily embed `R`

output, using online repositories and version control software for
collaboration, creation of basic websites using `R`

, and the development
of interactive dashboards and web applets.

Students will learn about the following topics:

- The
`R Markdown`

language - How to automate reports with
`R Markdown`

- Use of
`git`

and`github`

for collaboration and version control - Basic creation of websites through
`Markdown`

and`github`

`R Shiny`

web apps