Course Outline
Objectives
• Learn the core principles of R programming.
• Understand basic types of R objects.
• Gain familiarity with data object indexing, control structures, scoping, and functions.
• Understand how S3 method dispatch works.
• Become familiar with commonly used base functions for data manipulation and numerical computation.
Audience
Statisticians, statistical programmers, data scientists, and analysts who want to gain a solid understanding
of the core principles of the R language.
Keywords
R, R programming.
Instructor
This training is led by an expert with over 15 years of experience in R programming and data analysis using
R. He holds a Bachelor of Engineering degree in Computer Science and Master of Science in Mathematics.
Content
Day 1
An Introduction to R
A brief overview of the R software ecosystem and the R integrated development environment, RStudio
(installation, running, CRAN, and packages). Introduction to basic R commands, command line versus
scripts, command history, workspace, and help system.
R Language Definition
1. Objects: basic types, attributes, and compound data structures (factor, matrix, data.frame).
2. Finite, infinite, and NaN values; missing data (NA) and NULL objects.
3. Basic operations on atomic vectors: arithmetic, logical, and relational operators; recycling rules.
4. Indexing of vectors, lists, and multidimensional structures.
5. Functions.
6. Control structures (conditionals and loops).
7. Object-oriented programming: the R class system and dispatch mechanism (S3 classes).
Day 2
Language Essentials
1. Data manipulation: sorting, ordering, counting occurrences, subsetting, binding and merging, the
apply family, and replication.
2. Numbers: floating-point pitfalls, basic mathematical functions, rounding, generating sequences, combinatorics,
sampling, and random number generation.
3. Statistics: descriptive statistics and frequency tables.
4. Probability distributions: density, cumulative distribution, quantile functions, and random variate
generation for standard distributions.
5. Text: character strings and pattern matching.
Prerequisites
Software
1. HW (at minimum):
(a) processor: 2-cores modern processor, 3GHz, 4MB cache,
(b) RAM: 16GB,
(c) disc: 20GB free space on OS partition + additional 20GB free space on any partition. This
is the space before installation of additional R related software listed below.
2. OS: MS Windows or Linux (preferred) Fedora, Redhat, or CentOS.
3. R (https://cran.r-project.org/mirrors.html).
In case of MS Windows OS, the following components should be installed: base R, Rtools.
In case of Linux OS, the following components should be installed: R-core, R-devel and R-core-devel.
4. RStudio IDE (https://posit.co/download/rstudio-desktop/) - free version.
5. R packages: "rlang", "lobstr", "ggplot2", "dplyr", "reshape2".
All applications should be in latest stable, available releases.
Copyright ©2026 Wojciech Wójciak. All Rights reserved.
This document is protected by copyright. All copyrights and intellectual property rights for this documentation
are the exclusive property of the author who owns the rights copying, modification, translation, adaptation or
derivatives including any improvements or developments. The author has the sole right to copy, distribute,
amend, modify, develop, license, sublicense, sell, transfer and assign this material. No part of this document
may be reproduced, stored in a retrieval system, adapted or made available to the public or to any third party
in any form or by any means without the prior written agreement of the owner.
Requirements
This two-day course introduces participants to the core principles of R programming and the language
definition. R is a programming language and free software environment for statistical computing and graphics,
supported by the R Core Team and the R Foundation for Statistical Computing.
The R system provides a wide range of statistical and graphical techniques, offering great flexibility for
data analysis. It is widely used by statisticians and data analysts, is freely available, and-like many high-level
language-is relatively easy to learn while remaining powerful and expressive.
Testimonials (3)
Doing Exercise
Joe Pang - Lands Department, Hong Kong
Course - QGIS for Geographic Information System
Hands-on examples allowed us to get an actual feel for how the program works. Good explanations and integration of theoretical concepts and how they relate to practical applications.
Ian - Archeoworks Inc.
Course - ArcGIS Fundamentals
Entire training. Trainer preparation, communication style, prepared exercises. Everything is top-notch.
Michal - AXAXL
Course - Testable Requirements - How to Write Good Acceptance Criteria?
Machine Translated