Chapter 1: Introduction to R
- Lesson 1: What is R?
- Lesson 2: History of R and its Ecosystem
- Lesson 3: Applications and Use Cases of R
- Lesson 4: Setting Up the R Environment (RStudio)
- Lesson 5: Writing Your First R Script
- Lesson 6: Introduction to R Syntax
- Lesson 7: Working with R Packages
Chapter 2: Variables, Data Types, and Structures
- Lesson 1: What are Variables in R?
- Lesson 2: Declaring and Initializing Variables
- Lesson 3: Data Types: Numeric, Character, Logical, Factor, etc.
- Lesson 4: Special Values: NA, NULL, NaN, and Inf
- Lesson 5: Type Coercion and Checking Data Types
Chapter 3: Vectors in R
- Lesson 1: Creating Vectors
- Lesson 2: Vector Operations (Arithmetic, Logical)
- Lesson 3: Common Vector Functions (length, sum, mean)
- Lesson 4: Subsetting Vectors
- Lesson 5: Vector Recycling and Coercion
Chapter 4: Factors in R
- Lesson 1: Understanding Factors
- Lesson 2: Creating and Manipulating Factors
- Lesson 3: Levels and Labels of Factors
- Lesson 4: Reordering Factors
- Lesson 5: Using Factors in Statistical Models
Chapter 5: Lists in R
- Lesson 1: Creating Lists
- Lesson 2: Accessing List Elements
- Lesson 3: Modifying Lists
- Lesson 4: Nested Lists and Their Manipulation
- Lesson 5: Useful List Functions (lapply, sapply)
Chapter 6: Matrices in R
- Lesson 1: Creating Matrices
- Lesson 2: Matrix Operations (addition, multiplication)
- Lesson 3: Accessing Matrix Elements
- Lesson 4: Transposing Matrices
- Lesson 5: Applying Functions to Matrices
Chapter 7: Arrays in R
- Lesson 1: Creating Arrays
- Lesson 2: Accessing Array Elements
- Lesson 3: Array Operations
- Lesson 4: Manipulating Dimensionality
- Lesson 5: Applying Functions to Arrays
Chapter 8: Data Frames in R
- Lesson 1: Creating Data Frames
- Lesson 2: Accessing Data Frame Elements
- Lesson 3: Modifying Data Frames
- Lesson 4: Merging and Combining Data Frames
- Lesson 5: Using dplyr for Data Frame Manipulation
Chapter 9: Operators in R
- Lesson 1: Arithmetic Operators
- Lesson 2: Relational and Comparison Operators
- Lesson 3: Logical Operators and Short-circuiting (&&, ||)
- Lesson 4: Special Operators: %in%, %*%, %/%, etc.
- Lesson 5: The Pipe Operator (%>%) and its Applications in dplyr
- Lesson 6: Custom Operators: Defining and Using %my_op%
- Lesson 7: Using %>% with Other Libraries (data.table, tidyverse)
Chapter 10: Control Structures
- Lesson 1: Overview of Control Structures in R
- Lesson 2: Conditional Statements: if, else if, and else
- Lesson 3: Loops in R: for, while, and repeat
- Lesson 4: Efficient Looping: Avoiding Common Pitfalls
- Lesson 5: The switch() Function: Simplifying Conditional Logic
- Lesson 6: Breaking and Continuing Loops: break and next
- Lesson 7: Vectorized Alternatives to Loops
- Lesson 8: Combining Control Structures for Complex Logic
- Lesson 9: Error Handling in Control Structures: tryCatch() and withCallingHandlers()
Chapter 11: Functions in R
- Lesson 1: Basics of Functions: Writing and Calling Functions
- Lesson 2: Understanding Function Arguments: Default, Named, and ... Arguments
- Lesson 3: Return Values and Explicit vs. Implicit Returns
- Lesson 4: Variable Scope: Global vs. Local Environments
- Lesson 5: Anonymous Functions and Their Use Cases
- Lesson 6: Higher-Order Functions: lapply(), sapply(), vapply(), and More
- Lesson 7: Creating Functions for Data Transformation and Analysis
- Lesson 8: Advanced Function Concepts: Closures and Lexical Scoping
- Lesson 9: Function Factories and Custom Function Generators
- Lesson 10: Debugging and Optimizing Functions: Tools and Best Practices
Chapter 12: Data Reshaping
- Lesson1: Reshaping Data with tidyr
- Lesson2: Pivoting Data Frames
- Lesson3: Melting and Casting Data
- Lesson4: Handling Missing Values during Reshaping
- Lesson5: Examples of Reshaping with real datasets
Chapter 13: File I/O and Data Interfaces
- Lesson1: Working with CSV Files
- Lesson2: Working with Excel Files
- Lesson3: Working with Binary Files
- Lesson4: Working with XML Files
- Lesson5: Working with JSON Files
Chapter 14: Working with Web Data
- Lesson1: Scraping Data from Websites
- Lesson2: Using APIs to Fetch Data
- Lesson3: Handling JSON Responses from APIs
- Lesson4: Cleaning Web Scraped Data
- Lesson5: Example Projects using Web Data
Chapter 15: Working with Databases in R
- Lesson1: Connecting to Databases
- Lesson2: Querying Databases using SQL
- Lesson3: Writing Back to Databases
- Lesson4: Using dbplyr for Database Manipulation
- Lesson5: Handling Database Transactions
Chapter 16: Working with Graphs
- Lesson1: Pie Charts
- Lesson2: Bar Charts
- Lesson3: Boxplots
- Lesson4: Histograms
- Lesson5: Line Graphs
- Lesson6: Scatterplots
Chapter 17: Regular Expressions in R
- Lesson1: Basics of Regular Expressions
- Lesson2: Common Regex Patterns (digits, letters)
- Lesson3: Using stringr for Regex Operations
- Lesson4: Pattern Matching Functions (grep, gsub)
- Lesson5: Practical Applications of Regex in Data Cleaning
Chapter 18: Object-Oriented Programming in R
- Lesson 1: Introduction to Object-Oriented Programming in R
- Lesson 2: Understanding S3 Objects: Basics and Implementation
- Lesson 3: Creating and Using S4 Objects
- Lesson 4: Working with Reference Classes (RC)
- Lesson 5: Differences Between S3, S4, and RC Systems
- Lesson 6: Inheritance and Polymorphism in S4 and RC
- Lesson 7: Implementing Generic Functions and Methods
- Lesson 8: Managing Encapsulation and Data Integrity
- Lesson 9: Practical Applications of OOP in R (e.g., package development)
- Lesson 10: Advanced Techniques: Integrating OOP with Functional Programming
Chapter 1: Modern Features of R (R >= 4.0)
- Lesson 1: Overview of New Features
- Lesson 2: Introduction to R 4.0 Features (e.g., improved performance, better package handling)
- Lesson 3: New Language Features (e.g., native pipe operator |>, improvements in error handling)
- Lesson 4: Changes in R's Syntax and Parsing
- Lesson 5: Handling Large Data Sets Efficiently
- Lesson 6: New Functions in Base R (e.g., list.files() enhancements, purrr integration)
- Lesson 7: Compatibility with Older Versions
- Lesson 8: Modern Debugging Tools (e.g., rlang, debugonce(), trace())
- Lesson 9: R 4.0 and Integration with Other Languages (e.g., Python, C++)
- Lesson 10: Future of R: Key Planned Features
Chapter 2: Performance Optimization in R
- Lesson 1: Techniques to Speed-up R Code
- Lesson 2: Profiling Code Performance (Rprof(), profvis())
- Lesson 3: Efficient Memory Management (e.g., garbage collection, memory profiling)
- Lesson 4: Vectorization Techniques and Avoiding Loops
- Lesson 5: Using data.table for Performance
- Lesson 6: Parallel Programming in R (e.g., parallel, future packages)
- Lesson 7: Optimizing Data Input/Output Operations (e.g., reading large files)
- Lesson 8: Using Caching Techniques for Faster Computations
- Lesson 9: Memory Allocation in R: Best Practices
- Lesson 10: Benchmarking Performance in R: Tools and Methods
Chapter 3: Multi-Dimensional Scaling
- Lesson 1: Introduction to Multidimensional Scaling (MDS)
- Lesson 2: Classical MDS and Metric MDS
- Lesson 3: Non-metric MDS and Its Applications
- Lesson 4: Visualizing MDS Results (e.g., 2D and 3D plots)
- Lesson 5: Understanding Stress and Its Interpretation
- Lesson 6: Choosing Between Classical and Non-Metric MDS
- Lesson 7: Applications of MDS in Data Science (e.g., clustering, pattern recognition)
- Lesson 8: Using R Packages for MDS (e.g., cmdscale, vegan)
- Lesson 9: Interpreting and Validating MDS Results
- Lesson 10: Advanced MDS Techniques (e.g., Sammon's Mapping)
Chapter 4: Statistics with R
- Lesson 1: Descriptive Statistics: Mean, Median, Mode, and Beyond
- Lesson 2: Probability Distributions and Their Applications
- Lesson 3: Inferential Statistics: Hypothesis Testing
- Lesson 4: ANOVA and Regression Analysis
- Lesson 5: Time Series Analysis and Forecasting
- Lesson 6: Correlation and Covariance
- Lesson 7: Handling Missing Data and Imputation Techniques
- Lesson 8: Bayesian Statistics with R
- Lesson 9: Non-Parametric Statistics
- Lesson 10: Advanced Statistical Modeling Techniques in R
Chapter 5: Machine Learning with R
- Lesson 1: Overview of Machine Learning in R
- Lesson 2: Data Preprocessing and Feature Engineering
- Lesson 3: Supervised Learning: Linear and Logistic Regression
- Lesson 4: Classification Algorithms: KNN, SVM, Random Forest
- Lesson 5: Unsupervised Learning: Clustering with K-means, Hierarchical
- Lesson 6: Dimensionality Reduction (e.g., PCA, t-SNE)
- Lesson 7: Model Evaluation and Validation (e.g., cross-validation, AUC)
- Lesson 8: Ensemble Methods: Random Forests, Boosting
- Lesson 9: Neural Networks and Deep Learning with R
- Lesson 10: Implementing Machine Learning Pipelines in R
Chapter 6: Optimization in R
- Lesson 1: Introduction to Optimization Problems
- Lesson 2: Basic Optimization Methods: Linear Programming, Gradient Descent
- Lesson 3: Optimization with optim() and nlminb() Functions
- Lesson 4: Constrained Optimization Techniques
- Lesson 5: Global Optimization Methods (e.g., Genetic Algorithms)
- Lesson 6: Simulated Annealing and Particle Swarm Optimization
- Lesson 7: Optimization for Machine Learning Models (e.g., hyperparameter tuning)
- Lesson 8: Non-Linear Optimization Problems in R
- Lesson 9: Advanced Techniques: Integer Programming, Dynamic Programming
- Lesson 10: Applications of Optimization in Data Science (e.g., portfolio optimization)
Chapter 7: Parallel Computing in R
- Lesson 1: Introduction to Parallel Computing in R
- Lesson 2: Basic Concepts: Processes, Threads, and Cores
- Lesson 3: Parallel Programming with the parallel Package
- Lesson 4: Using the future Package for Parallel Processing
- Lesson 5: Parallelizing Loops and Operations
- Lesson 6: Managing Data in Parallel Computing
- Lesson 7: Debugging Parallel Code
- Lesson 8: Performance Analysis and Profiling for Parallel Code
- Lesson 9: Distributed Computing with snow and foreach
- Lesson 10: Practical Applications of Parallel Computing in R
Chapter 8: stringr Package
- Lesson 1: Introduction to the stringr Package
- Lesson 2: Basic String Manipulation with stringr
- Lesson 3: String Matching with Regular Expressions
- Lesson 4: String Subsetting and Replacing
- Lesson 5: Handling String Length and Encoding
- Lesson 6: String Extraction and Manipulation (e.g., str_sub(), str_extract())
- Lesson 7: Advanced String Functions (e.g., str_match(), str_count())
- Lesson 8: Efficient String Operations with stringr
- Lesson 9: Working with Character Vectors and Lists
- Lesson 10: Integrating stringr with Other R Packages
Chapter 9: woeBinning Package
- Lesson 1: Introduction to the woeBinning Package
- Lesson 2: Weight of Evidence (WoE) and Its Applications
- Lesson 3: Binning Continuous Variables using woeBinning
- Lesson 4: Creating Bins Automatically and Manually
- Lesson 5: Handling Missing Values in woeBinning
- Lesson 6: Using WoE for Feature Transformation
- Lesson 7: Using WoE for Logistic Regression Models
- Lesson 8: Evaluating and Interpreting Binning Results
- Lesson 9: Best Practices for WoE Binning
- Lesson 10: Advanced Features of woeBinning (e.g., optimal binning, monotonicity constraints)