R Programming

  1. Programming Constructs in R
    1. Control Flow Structures
      1. Conditional Execution
        1. `if` Statements
          1. Single Condition Testing
            1. Logical Expressions
              1. Nested Conditions
              2. `else` Statements
                1. Alternative Execution
                  1. `else if` Chains
                  2. `ifelse()` Function
                    1. Vectorized Conditionals
                      1. Multiple Condition Handling
                      2. `switch()` Function
                        1. Multiple Choice Selection
                          1. Named and Positional Arguments
                        2. Iterative Structures
                          1. `for` Loops
                            1. Loop Variable
                              1. Sequence Iteration
                                1. Index-based Loops
                                  1. Nested Loops
                                  2. `while` Loops
                                    1. Condition-based Iteration
                                      1. Loop Termination
                                        1. Infinite Loop Prevention
                                        2. `repeat` Loops
                                          1. Unconditional Loops
                                            1. Manual Termination
                                            2. Loop Control
                                              1. `break` Statement
                                                1. `next` Statement
                                                  1. Loop Optimization
                                              2. Function Definition and Usage
                                                1. Function Basics
                                                  1. Function Syntax
                                                    1. Function Components
                                                      1. Function Calling
                                                      2. Function Arguments
                                                        1. Required Arguments
                                                          1. Optional Arguments
                                                            1. Default Values
                                                              1. Named Arguments
                                                                1. Argument Matching
                                                                  1. `...` (Ellipsis) Arguments
                                                                  2. Return Values
                                                                    1. Explicit Returns (`return()`)
                                                                      1. Implicit Returns
                                                                        1. Multiple Return Values
                                                                          1. Early Returns
                                                                          2. Function Documentation
                                                                            1. Comment-based Documentation
                                                                              1. Function Examples
                                                                                1. Parameter Descriptions
                                                                              2. Variable Scope and Environments
                                                                                1. Scoping Rules
                                                                                  1. Lexical Scoping
                                                                                    1. Dynamic Scoping
                                                                                      1. Scope Resolution
                                                                                      2. Environment Hierarchy
                                                                                        1. Global Environment
                                                                                          1. Function Environments
                                                                                            1. Package Environments
                                                                                              1. Parent Environments
                                                                                              2. Environment Functions
                                                                                                1. `environment()` Function
                                                                                                  1. `parent.env()` Function
                                                                                                    1. `ls()` for Environment Contents
                                                                                                      1. `exists()` for Variable Testing
                                                                                                      2. Variable Assignment Scopes
                                                                                                        1. Local Assignment
                                                                                                          1. Global Assignment (`<<-`)
                                                                                                            1. Environment-specific Assignment
                                                                                                          2. Apply Family Functions
                                                                                                            1. `apply()` Function
                                                                                                              1. Matrix and Array Application
                                                                                                                1. Margin Specification
                                                                                                                  1. Function Application
                                                                                                                  2. `lapply()` Function
                                                                                                                    1. List Application
                                                                                                                      1. Return Type (List)
                                                                                                                        1. Anonymous Functions
                                                                                                                        2. `sapply()` Function
                                                                                                                          1. Simplified Apply
                                                                                                                            1. Vector Return
                                                                                                                              1. Type Coercion
                                                                                                                              2. `vapply()` Function
                                                                                                                                1. Type-safe Apply
                                                                                                                                  1. Return Type Specification
                                                                                                                                    1. Performance Benefits
                                                                                                                                    2. `mapply()` Function
                                                                                                                                      1. Multiple Argument Apply
                                                                                                                                        1. Vectorized Function Application
                                                                                                                                        2. `tapply()` Function
                                                                                                                                          1. Grouped Application
                                                                                                                                            1. Factor-based Grouping
                                                                                                                                              1. Summary by Group
                                                                                                                                            2. Error Handling
                                                                                                                                              1. Error Types
                                                                                                                                                1. Syntax Errors
                                                                                                                                                  1. Runtime Errors
                                                                                                                                                    1. Logical Errors
                                                                                                                                                    2. Exception Handling
                                                                                                                                                      1. `try()` Function
                                                                                                                                                        1. `tryCatch()` Function
                                                                                                                                                          1. Error Recovery
                                                                                                                                                          2. Debugging Techniques
                                                                                                                                                            1. `browser()` Function
                                                                                                                                                              1. `debug()` Function
                                                                                                                                                                1. Debugging Tools in RStudio