Skip to content

Latest commit

 

History

History
117 lines (101 loc) · 2.86 KB

README.md

File metadata and controls

117 lines (101 loc) · 2.86 KB

learnR

Introduction

learnR is a tutorial for R programming language from basic to advanced levels. It includes basic concepts, motivations, principles and their application in data transformation, data analysis, data mining, statistical computing, financial computing, etc.

Prerequesites

  1. R
  2. Rtools
  3. Rstudio

Contents

A: Basic R Programming

  1. Introduction to R programming language
  2. RStudio IDE
  3. Basic objects
    • Vector (Numeric, Integer, Complex, Logical, Character)
    • Matrix
    • Array
    • List
    • Data frame
    • Function
    • Formula
  4. Basic expressions
    • Assignment expression (<-, <<-)
    • Conditional expression (if else)
    • Loop expression (for, while)
  5. Basic functions
    • Environment functions
    • Package functions
    • Object functions
    • Logical functions
    • Character functions
    • Math functions
    • Statistical functions
    • Data manipulation (data read/write, transformation)
    • Higher-order functions
    • Optimization functions
    • Anonymous functions
    • Meta-functions
    • Plot functions
  6. Debugging in RStudio
  7. Essential statistics
    • Preparing data
    • Descriptive statistics
    • Linear regression
    • Statistical hypothesis testing
    • Model analysis
    • Time series model fit
  8. Essential data mining
    • Using models
    • Cross validation
  9. Design patterns

B: Advanced R Programming

  1. R language mechanism
    • Lazy evaluation
    • Dynamic scoping
    • Object searching
    • Memory management
    • ...
    • Functions
    • Environment
    • Expression
    • Call
  2. Data structures
    • S3 object
    • S4 object
  3. Database
    • SQL
    • Read/Write Excel Workbook via {RODBC}
    • Read/Write SQLite database via {RSQLite}
    • Use SQL to query data frames
  4. Parallel computing
    • {parallel}
    • {parallelMap}
    • {doParallel} + {foreach}
    • {doParallel} + {plyr}
  5. Functional programming
    • Anonymous functions
    • Closures
    • Higher order functions
  6. Profiling
    • Computing time tracking
    • Memory use tracking

C: Popular packages

  1. Popular packages
  2. Read/Write JSON ({jsonlite})
  3. Process strings ({stringr})
  4. Transform data frame between long and wide formats ({reshape2})
  5. Iterate over vector, list, and data frame ({plyr})
  6. Handy data frame transformation ({dplyr})
  7. Nonlinear root finding ({rootSolve})
  8. Nonlinear Optimization ({Rsolnp})
  9. Integrate R with C++ ({Rcpp})
  10. R Markdown Documenting ({rmarkdown})

D: Data Visualization

  1. Basic plots
    • Scatter/line/bar/pie charts
    • Composing plots
    • Partitioning plots
    • Graphics devices
    • Interactive graphics
  2. {ggplot2}

E1: Exercises

E2: Appendix