Useful Links
Computer Science
Programming
By Language
R Programming
1. Introduction to R
2. Setting Up the R Environment
3. R Fundamentals
4. R Data Types
5. R Data Structures
6. Data Import and Export
7. Data Manipulation with Base R
8. Data Manipulation with Tidyverse
9. Programming Constructs in R
10. Data Visualization
11. Statistical Analysis in R
12. Reproducible Research and Reporting
13. Package Management and Development
14. Advanced R Programming
Data Manipulation with Tidyverse
Tidyverse Philosophy
Tidy Data Principles
Each Variable in a Column
Each Observation in a Row
Each Value in a Cell
Functional Programming Approach
Consistent API Design
Core Tidyverse Packages
Data Transformation with dplyr
Core Verbs
`filter()` for Row Filtering
Logical Conditions
Multiple Conditions
Missing Value Handling
`select()` for Column Selection
Column Names
Column Ranges
Helper Functions
`arrange()` for Sorting
Single Column Sorting
Multiple Column Sorting
Descending Order
`mutate()` for Column Creation
New Column Creation
Column Modification
Multiple Columns
`summarise()` for Aggregation
Summary Statistics
Custom Functions
Multiple Summaries
Grouping Operations
`group_by()` Function
Grouped Summaries
Grouped Mutations
`ungroup()` Function
The Pipe Operator
Magrittr Pipe (`%>%`)
Native Pipe (`|>`)
Pipe Benefits
Chaining Operations
Pipe Alternatives
Advanced dplyr Functions
`distinct()` for Unique Rows
`count()` for Counting
`top_n()` for Top Values
`sample_n()` and `sample_frac()` for Sampling
Joining Data
`inner_join()` for Inner Joins
`left_join()` for Left Joins
`right_join()` for Right Joins
`full_join()` for Full Joins
`semi_join()` and `anti_join()`
Join Key Specification
Handling Duplicate Keys
Data Tidying with tidyr
Reshaping Data
`pivot_longer()` for Wide to Long
Column Selection
Names and Values
Multiple Value Columns
`pivot_wider()` for Long to Wide
Names and Values From
Handling Missing Values
Handling Missing Values
`drop_na()` for Removing Missing
`replace_na()` for Replacing Missing
`fill()` for Forward/Backward Fill
Column Operations
`separate()` for Column Splitting
`unite()` for Column Combining
`extract()` for Pattern Extraction
Nested Data
`nest()` for Creating Nested Data
`unnest()` for Expanding Nested Data
Working with List Columns
String Manipulation with stringr
String Detection
`str_detect()` Function
Pattern Matching
String Extraction
`str_extract()` and `str_extract_all()`
`str_match()` Function
String Replacement
`str_replace()` and `str_replace_all()`
Pattern-based Replacement
String Splitting
`str_split()` Function
Fixed vs. Regex Patterns
String Length and Trimming
`str_length()` Function
`str_trim()` and `str_squish()`
Case Conversion
`str_to_upper()`, `str_to_lower()`, `str_to_title()`
Functional Programming with purrr
Map Functions
`map()` for Lists
`map_dbl()`, `map_chr()`, `map_lgl()` for Vectors
`map_dfr()` and `map_dfc()` for Data Frames
Iteration Patterns
`map2()` for Two Inputs
`pmap()` for Multiple Inputs
`imap()` for Index Mapping
Predicate Functions
`keep()` and `discard()`
`some()` and `every()`
List Manipulation
`pluck()` for Element Extraction
`flatten()` for List Flattening
Previous
7. Data Manipulation with Base R
Go to top
Next
9. Programming Constructs in R