Speaking R
The R Environment
(Downloading R and RStudio; RStudio interface and features; Working directory; Objects)
video tutorials
R commands
(Using R as a calculator; Print; R commands; Comments; Packages; Getting help)
video tutorials
Writing R Code
(Being reproducible; Organizing code; Syntax; Miscellaneous)
Data Structures
Vectors
(Generating sequences; Arithmetic operations; Logical vectors; Operators; Character vectors; Missing values; Indexing; Data types; Attributes)
Data Structures
(Factors; Matrices and Arrays; Lists; Data frames)
More on Subsetting
(Storing temporary outputs; Modifying object elements; subset(); %in% operator)
Working with JSON Data
(JSON objects; JSON arrays; Nested JSON objects; JSON files)
Control Statements and Functions
Flow Control
(if; if ... else if; if ... else if ... else; if ... else; Nested if; Vectorized ifelse())
Exploring Data
Reading Data
(Importing data with RStudio; Reading rectangular text data; Reading data from other software; Reading data of JSON format; Readinhg many compressed JSON files; Working with databases)
A Glimpse of Your Data
(Summary statistics; Listing specific cases; Correlations; t-tests; Linear regressions)
Data Manipulation
Data Transformation
(Recoding variables; Adding/dropping columns and rows; Renaming variables; Arranging rows; Reordering columns; Grouping; Removing duplicates)
Combining Data Frames
(Binding by rows; Merging; Joining)
Aggregating Data
(dplyr functions; data.table functions)
Reshaping Data between Long and Wide Formats
(spread(); gather(); pivot_wider(); pivot_longer(); dcast(); melt())
Spreading Rows
(Filling in values; Replicating rows)
Filling in Missing Values with Previous or Next Value
(tidyr::fill(); zoo::na.locf())
Duplicates
(Finding and marking duplicates; Finding the positions of duplicates; Removing duplicates)
Dates and Times
Dates and Times Fundamentals
(Data types; Converting dates and times; Creating dates and times; Extracting date-time components; Calculations; Time zones)
R Markdown
Visualization
A Lot of Bars
(Stacked bars (count); Stacked bars (percentage); Grouped bars; Lollipop chart)
Grouping in Plotting
(Coloring; Facets; Grouped bars; Combining graphs)
Web-interfacing Visualization
Project I: Exploring multiple dimensions of survey data with Shiny app
-
Part I: The Dirty Work - Reshaping Data for Visualization
(Reshaping data structures; Extracting strings; Automating for Shiny) -
Part II: The Jigsaw Puzzle Pieces - Creating Graphs with ggplot2
(Bars; Using summary stats; Using info from several columns; Visually grouping data) -
Part III: Assembling the Pieces - Creating R Shiny App
(User interface layout; Widgets; Reactive expressions; Plot outputs; Table outputs; Style; Hosting the App) -
Product: Shiny App
(Source: library user survey data)
Project II: Visualizing times and locations with animation and interactivity using tracking logs
-
Part I: Creating Animated Graphs with gganimate
(gganimate; Animated map; Animated line graph) -
Part II: The Shiny App
(Slider; Slider range; Animation sequences) -
Product: Shiny App
(Source: user behavior logs / server events data)
Working with SQL in Shiny
Project I: Building a one-stop-shop web app for business intelligence
-
Connecting SQLite Database and Shiny App for Business Intelligence
(Compiling database queries with SQLite; Issuing queries with RSQLite; Embedding SQLite queries in Shiny components) - Product: Business Intelligence Dashboard
-
Video tutorials
(Part 1: About database; Part2: The three big steps; Part 3: Navigation bar; Part 4: Select input; Part 5: Data range; Part 6: Data table; Part 7: Panel; Part 8: Plot; Part 9: Prediction; Part 10: Save table; Part 11: Conclusion)
Project II: Buildng a prototype of a database management system
-
Creating a Shiny App for Database Management
(Dashboard layout; Authentication; Dynamic UI reacting to user inputs; Making sure the SQL parts work in Shiny; Web development in Shiny) - Product: Database Management Platform