Introduction to R programming language
Course Description
The goal of this course is primarily enabling students to efficiently use the R programming language with the emphasis on problem solving and practical application.
The R programming language is tailored specifically for exploratory, statistical and data mining analysis of data sets. By its nature, it has a lot in common with classical programming languages such as Python, Java or C ++ but also with statistical tools such as SAS or SPSS. With its interactive approach, but also the ability to write complex programming scripts, R has established itself as one of the leading statistical programming languages which together with the accompanying packages offers a very efficient way to perform complex analysis of data sets and create reports accompanied by complex visualizations and calculations. Learning R requires a specific combination of programming skills, knowledge of elementary statistics, but also a certain level of creativity and readiness for challenges.
Learning Outcomes
- analyze small and large data sets in a meaningful and organized manner
- identify the nature of the data and the nature of its processing
- use the interactive programming approach to data analysis
- modify the raw data into a form suitable for analysis
- prepare complex scripts and software packages in the programming language R
- apply machine learning methods in the programming environment
- apply the methodology of preparing reports
Forms of Teaching
Lectures
Combination of slide presentations and interactive demonstrations of examples in R language with the option of executing examples on personal computers
Laboratory WorkWriting scripts in R language , programmatic data analysis, applying machine learning methods through the R language, writing reports.
ConsultationsConsultations in a predefined weekday time slot or via e-mail correspondence.
Programming ExercisesDataset analysis and reporting
E-learningSolving electronic workbook in RMD format using RStudio tool
Grading Method
Continuous Assessment | Exam | |||||
---|---|---|---|---|---|---|
Type | Threshold | Percent of Grade | Threshold | Percent of Grade | ||
Laboratory Exercises | 10 % | 20 % | 0 % | 0 % | ||
Homeworks | 5 % | 10 % | 0 % | 0 % | ||
Class participation | 0 % | 5 % | 0 % | 0 % | ||
Seminar/Project | 5 % | 20 % | 0 % | 0 % | ||
Attendance | 0 % | 5 % | 0 % | 0 % | ||
Mid Term Exam: Written | 5 % | 15 % | 0 % | |||
Final Exam: Written | 10 % | 25 % |
Week by Week Schedule
- Introduction to R; comparison between R and other programming languages; overview of programming tools and IDEs; presentation of the course execution plan
- Basic data types and operators; complex data structures: vectores, matrices, data frames and lists;
- Introduction to factors; flow control mechanisms; OOP principles in the R programming language
- Working with packages, basic functions and environments
- User defined functions; the apply family of functions
- Pipeline operator; basic principles of tidy data; working with dates and strings
- Data munging; introducing the dplyr package
- 1. midexam
- 1. midexam
- Exploratory analysis and data visualization: grammar of graphics; introducing the ggplot2 package
- Exploratory analysis and data visualization: advanced visualization methods; reporting (R Markdown)
- Statistical programming; working with distributions; simulations
- Descriptive and inferential stastistic in R
- Machine learning in R - practical examples: regression (simple linear regression, multiple linear regression, variable selection)
- Machine learning in R - practical examples: classification (logistic regression, kNN classification)
Study Programmes
University undergraduate
[FER3-HR] Computing - study
Skills
(3. semester)
(5. semester)
Skills
(3. semester)
(5. semester)
[FER2-HR] Computer Engineering - module
Skills
(5. semester)
[FER2-HR] Computer Science - module
Skills
(5. semester)
[FER2-HR] Computing - study
Skills
(3. semester)
[FER2-HR] Control Engineering and Automation - module
Skills
(5. semester)
[FER2-HR] Electrical Engineering and Information Technology - study
Skills
(3. semester)
[FER2-HR] Electrical Power Engineering - module
Skills
(5. semester)
[FER2-HR] Electronic and Computer Engineering - module
Skills
(5. semester)
[FER2-HR] Electronics - module
Skills
(5. semester)
[FER2-HR] Information Processing - module
Skills
(5. semester)
[FER2-HR] Software Engineering and Information Systems - module
Skills
(5. semester)
[FER2-HR] Telecommunication and Informatics - module
Skills
(5. semester)
[FER2-HR] Wireless Technologies - module
Skills
(5. semester)
University graduate
[FER3-HR] Computing - study
Skills
(1. semester)
[FER3-HR] Electrical Engineering and Information Technology - study
Skills
(1. semester)
[FER3-HR] Information and Communication Technology - study
Skills
(1. semester)
[FER2-HR] Computer Engineering - profile
Skills
(1. semester)
[FER2-HR] Computer Science - profile
Skills
(1. semester)
[FER2-HR] Control Engineering and Automation - profile
Skills
(1. semester)
[FER2-HR] Electrical Engineering Systems and Technologies - profile
Skills
(1. semester)
[FER2-HR] Electrical Power Engineering - profile
Skills
(1. semester)
[FER2-HR] Electronic and Computer Engineering - profile
Skills
(1. semester)
[FER2-HR] Electronics - profile
Skills
(1. semester)
[FER2-HR] Information Processing - profile
Skills
(1. semester)
[FER2-HR] Software Engineering and Information Systems - profile
Skills
(1. semester)
[FER2-HR] Telecommunication and Informatics - profile
Skills
(1. semester)
[FER2-HR] Wireless Technologies - profile
Skills
(1. semester)
Literature
Laboratory exercises
For students
General
ID 147661
Winter semester
4 ECTS
L1 English Level
L3 e-Learning
30 Lectures
0 Seminar
0 Exercises
15 Laboratory exercises
0 Project laboratory
Grading System
87,5 Excellent
75 Very Good
62,5 Good
50 Acceptable