Course Outline
Day 1
Introduction and preliminaries
- Making R more user-friendly: R and available graphical user interfaces (GUIs)
- RStudio
- Related software and documentation
- R and statistics
- Using R interactively
- An introductory session
- Getting help with functions and features
- R commands, case sensitivity, and more
- Recalling and correcting previous commands
- Executing commands from or redirecting output to a file
- Data permanency and removing objects
Simple manipulations; numbers and vectors
- Vectors and assignment
- Vector arithmetic
- Generating regular sequences
- Logical vectors
- Missing values
- Character vectors
- Index vectors: selecting and modifying subsets of a dataset
- Other types of objects
Objects, their modes and attributes
- Intrinsic attributes: mode and length
- Changing the length of an object
- Getting and setting attributes
- The class of an object
Ordered and unordered factors
- A specific example
- The tapply() function and ragged arrays
- Ordered factors
Arrays and matrices
- Arrays
- Array indexing: subsections of an array
- Index matrices
- The array() function
- Mixed vector and array arithmetic: the recycling rule
- The outer product of two arrays
- Generalised transpose of an array
- Matrix facilities
- Matrix multiplication
- Linear equations and inversion
- Eigenvalues and eigenvectors
- Singular value decomposition and determinants
- Least squares fitting and the QR decomposition
- Forming partitioned matrices: cbind() and rbind()
- The concatenation function, c(), with arrays
- Frequency tables from factors
Day 2
Lists and data frames
- Lists
- Constructing and modifying lists
- Concatenating lists
- Data frames
- Creating data frames
- attach() and detach()
- Working with data frames
- Attaching arbitrary lists
- Managing the search path
Data manipulation
- Selecting and subsetting observations and variables
- Filtering and grouping
- Recoding and transformations
- Aggregation and combining datasets
- Character manipulation: the stringr package
Reading data
- Text files
- CSV files
- XLS and XLSX files
- SPSS, SAS, Stata, and other data formats
- Exporting data to TXT, CSV, and other formats
- Accessing data from databases using SQL
Probability distributions
- R as a collection of statistical tables
- Examining the distribution of a dataset
- One- and two-sample tests
Grouping, loops and conditional execution
- Grouped expressions
- Control statements
- Conditional execution: if statements
- Repetitive execution: for loops, repeat, and while
Day 3
Writing your own functions
- Simple examples
- Defining new binary operators
- Named arguments and defaults
- The '...' argument
- Assignments within functions
- More advanced examples
- Efficiency factors in block designs
- Dropping all names in a printed array
- Recursive numerical integration
- Scope
- Customising the environment
- Classes, generic functions, and object orientation
Statistical analysis in R
- Linear regression models
- Generic functions for extracting model information
- Updating fitted models
- Generalised linear models
- Families
- The glm() function
- Classification
- Logistic regression
- Linear discriminant analysis
- Unsupervised learning
- Principal components analysis
- Clustering methods (k-means, hierarchical clustering, k-medoids)
- Survival analysis
- Survival objects in R
- Kaplan-Meier estimate
- Confidence bands
- Cox PH models with constant covariates
- Cox PH models with time-dependent covariates
Graphical procedures
- High-level plotting commands
- The plot() function
- Displaying multivariate data
- Display graphics
- Arguments to high-level plotting functions
- Basic visualisation graphs
- Multivariate relations with the lattice and ggplot packages
- Using graphics parameters
- Graphics parameters list
Automated and interactive reporting
- Combining R output with text
Creating HTML and PDF documents
Testimonials (6)
At the end of the class, we had a great overview of the language, we were provided tools to continue learning and were provided suggestions on how to continue learning. We covered AI/ML information.
Victor Prado - Global Knowledge Network Training Ltd
Course - R
The R-programming overview training is quite intensive but Tomasz is always helpful, energetic and up to date. On top of it, he is passionate about R. I would highly recommend his R sessions to anyone interested in R.
Luiza Panoschi - Global Knowledge Network Training Ltd
Course - R
Practice exercises were relevant and very helpful to reinforce the knowledge.
Andy Kwan - Environment and Climate Change Canada
Course - R
Follow-along exercises after slide presentation kept engagement.
Robin White - Environment and Climate Change Canada
Course - R
Michael was very knowledgeable and clear in his instruction of the training. Course was well structured to teach the desired subject as well as the right amount of room was left to adjust to fit our needs better. Over all, I am very happy with the course.
Brock Batey - Environment and Climate Change Canada
Course - R
I really enjoyed the knowledge of the trainer.