
Advance from beginner to advanced in the tidyverse with a curated resource, covering column and row skills, pivot longer and pivot wider, and key perp functions, plus a 360-page PDF.
Link to the code repository: https://github.com/ch-bu/going-from-beginner-to-advanced-in-the-tidyverse
Learn how to assign specific column naming conventions when reading data with tidyverse read functions, using name repair and make_clean_names to switch between upper camel case, snake_case, or other styles.
Learn to read csv files from nested folders in R using the recurse argument in the fs package, map over paths, and bind results into a single data set.
Learn to read 25 CSV files from a folder into one R data frame by listing full paths with list.files or dear list, reading with read_csv, and rbind.
Learn to select and reorder columns in data frames using tidyselect, including everything, last, ends with, starts with, contains, num range, and where, with examples from mpg, billboard, and anscombe.
learn to use tidyselect with regular expressions to pick columns by pattern, such as matching numbers, starting with a prefix, or ending with a specific suffix, using the matches function.
Learn to rename many columns at once using rename_with (rename width) in the tidyverse. Apply make_clean_names, string replace, and gsub to enforce naming conventions, and use regular expressions for pattern changes.
Explore how to bin continuous data into discrete intervals using the decade trick and cut width, transforming variables like height or birth year into interpretable bins for ggplot2 visualizations.
Learn to split a single column into multiple tidy columns using the tidyverse's separate_wider functions (delim, position, regex), including delimiters, widths, and regex patterns.
Explore anonymization and pseudo anonymization in the tidyverse, using factor_n to anonymize factor levels and random_names to generate replacement names. Demonstrates with the gss_cat and presidential datasets.
Explore lumping factor levels in R to improve visualizations, using methods like factor lump min, n, prop, and low frequency to convert rare levels to other.
Explore four methods to order factor levels in R—manual by factor levels, by frequency, by a numeric variable with factor reorder, and by two numeric variables—applied to ggplot visuals.
Master the across function in the tidyverse to apply statistics across many columns, learning its use with summarize and mutate, handling multiple functions, names, and tidyselect like everything.
Master slicing rows by indices with slice functions—head, tail, max, min, sample—and compare to filter, and apply them with group by, bootstrapping, and map for data frame workflows.
Master pivot longer to make data frames longer, aligning with tidy data principles and transforming untidy layouts into machine-readable, row-focused structures.
Explore the per package and the map family to manipulate vectors, lists, and data frames with concise iteration; understand atomic vectors and coercion rules for tidyverse workflows.
Learn how to use the map family to apply functions to vectors, lists, and data frames, and choose map, map_int, map_dbl, or map_char for specific output types.
Discover how to manage errors in map operations with the safely and possibly functions, learn the two-element result structure, and use default or NA values for safe execution.
Explore map2 and pmap in R, learn when to use two inputs versus more inputs, and apply them to vectors, lists, and data frames using dot dot dot.
Explore how map, map2, and pmap work with data frames and nested data frames in the tidyverse, using iris examples, mutate, nest, and row count and mean computations.
Master creating and combining plots from nested tibbles using tidyverse tools, including ggplot, purrr map, map2, and pmap, and patchwork for histograms and scatter plots across marital status groups.
Learn to fit models from nested tibbles with per functions and pmap, store fitted models, and extract r-squared to compare results across groups using diamonds and Midwest examples.
Learn to use the walk family to perform side effects in tidyverse, saving plots and files with walk, walk two, and p walk, and organizing outputs by year with folders.
Explore how to perform intermediate tests with walk between pipes in the tidyverse, using side effects to debug histograms by printing statuses and identifying rows with not enough values.
I have created the course for all Tidyverse learners who feel they have reached a plateau in their skills. If you are familiar with the basic functions such as mutate, filter, select or arrange and want to improve, this course is for you.
While the basics of Tidyverse are covered very well in dozens of good offerings, it's hard to find the tricks and features that separate Tidyverse beginners from very good programmers. Most of the tricks are scattered in hundreds of forums, blog posts and documentation. That's why in June 2022 I started to bundle all the tricks into a single resource. This course is, in my opinion, the most dense and best resource to learn all the good parts of the Tidyverse. You don't have to take this course, but investing in it will save you a lot of time researching online. I've spent 300 hours searching the internet and compiling all the tricks I could find into this unique resource so you don't have to.
This is not just a video course! The course comes with a 360-page PDF book that accompanies the chapters of this book. The book goes into much more detail than the videos and includes some topics not covered in the videos.
The online course includes 30 concrete tips structured along specific improvements:
Improve reading files
How to change the naming conventions of columns when reading in data
How to read many files into R that are in the same folder
How to read many files into R that are in nested folders
Improve working with columns
How to select columns with tidyselect
How to select columns with tidyselect and regular expressions
How to rename many columns at once
Improve creating and modifying columns
How to bin continuous variables
How to create many columns from one column
How to anonymize columns
How to mask values
How to lump factor levels
How to order factor levels
How to apply a function across many columns
Improve working with rows
How to filter rows based on a condition across multiple columns
How to improve slicing rows
How to do rowwise calculations
Improve working with incomplete data
How to expand data frames and create complete combinations of values
Improve converting data frames between longer and wider formats
How to make a data frame longer
How to make a data frame wider
Improve your Tidyverse fundamentals
How to make use of curly curly inside functions
Improve your purrr skills
How to make sense of vectors, lists, and data frames
How to use the map function family effectively
How to use safely and possibly
How to use map_vec
How to use the map2 and pmap function family effectively
How to create plots from a nested tibble
How to fit models from a nested tibble
How to use the walk function family effectively
How to do intermediate tests with walk in between pipes
I really hope this course makes a difference to you and can improve your Tidyverse game. Take 10 to 15 hours to study the content and I promise you'll be a much better Tidyverse programmer by the end of the journey. Join us.