
Join Irrfan Leahy to start your R programming journey, from data structures and conditional statements to loops, functions, and web scraping, building a commercial grade app with real-world industry experience.
Learn why R matters as a language for data science, driven by an active community, abundant libraries and packages, and open source tools that support machine learning and exploratory analytics.
Master the fundamentals of R programming, from vectors to data frames and functions, with hands-on setup. Tackle real estate data via web scraping in Melbourne and Sydney.
How to install R (console) and RStudio (IDE) to get started with R language.
Explore the essentials of the R language and RStudio, set and verify your working directory, and practice basic commands to build hands-on data science skills.
Master R basics by using the console to check versions and 64‑bit setup, set and view the working directory with setwd and getwd, and explore environment variables with ls.
Develop skills in R basics by creating and printing variables, inspecting environment, setting the working directory, and loading scripts from local file system with source using absolute or relative paths.
Explore the core atomic data types in R, focusing on numeric and integer, and learn to distinguish and test them using is.numeric and is.integer.
Learn the basic numeric and atomic data types in R—numeric, integer, complex, and character—along with arithmetic, modulo, precedence, and variable assignment; plus string operations.
Explore string handling in R by concatenating first and last names into a full name with paste and paste0, noting paste adds spaces by default.
Explore the character data type and substring-based transformations in R, extracting substrings from strings such as postal codes. Learn start and end positions and basic split and combine operations.
Explore the character data type and string transformation in R, focusing on the sub and substitute functions: three arguments (target, replacement, and string) for dynamic, personalized outputs using placeholders.
Explore the atomic logical data type, its true/false values, and how comparisons and assignments work in R programming, including logical operators and capitalized literals.
Explore atomic data types and the nuances of explicit and implicit coercion in R, converting between numeric, integer, character, logical, and complex while handling missing values.
Create vectors in R with the c() function, and grasp their homogeneous, one-dimensional nature. Explore how coercion merges mixed types into a common vector, with numeric, character, and logical examples.
Explore creating vectors in R using different methods, observe implicit coercion in heterogeneous types, and learn to generate sequences with seq from an initial to final point with an increment.
Explore vectors in R, using length to count elements and square brackets to access single items or ranges, with 1-based positions.
Explore how to subset vectors in R using positive and negative indices, ranges, and index vectors, handle out-of-bounds with NA, and use length and nested indexing to access elements efficiently.
Explore how vectors in R exhibit a flatness property that flattens nested structures during indexing, and understand why lists behave differently when storing complex objects.
Learn how to subset vectors in R using position indexing and named elements. Naming vector positions enables name-based indexing and reveals how quotes and symbols affect lookup in the environment.
Learn to assign names to vector elements in R, attach attributes as metadata, and interpret name-value pairs to convey data context and enable collaboration across a data science team.
Explore matrices as two-dimensional data structures derived from vectors, understand their dimensions in terms of rows and columns, and learn how to create matrices by assigning appropriate dimensions.
Learn how to create matrices from vectors by assigning dimensions and using matrix functions, and see how values fill by columns, recycle when data is short, and verify with is.matrix.
Discover how to create matrices from vectors by stacking rows or columns, bind them, and assign dimension names to rows and columns for clearer data organization.
Learn to create and name matrices, assign row and column labels with the names function and a list, and perform two-dimensional indexing via subsetting.
Index matrices by specifying row and column coordinates to access single elements and subsets, as demonstrated with second row second column returning 20.
Explore advanced indexing in matrices by using dimension names to subset by row and column, applying numeric ranges and labeled indices for precise element retrieval.
Master advanced indexing and subsetting in matrices to access specific rows and columns using vectors. Learn to create a 5x5 matrix and test various row and column selections.
Learn how matrices support element-wise operations and scalar multiplication, and distinguish them from true matrix multiplication. Explore functions like sqrt and determinant, and practice applying these operations on example matrices.
Learn about lists in R as a heterogeneous, powerful data structure that can store diverse data types, including matrices, data frames, and even other lists, unlike flat, homogeneous vectors.
Explore how lists in R handle heterogeneity compared with vectors, learn to create lists with list(), test with is.list, and index elements using double brackets.
Explore the recursive nature of lists in R and how they compare to vectors, showing how lists retain heterogeneous elements and nested structures unlike flattened vectors.
Convert vectors to lists and transform lists back to vectors to examine coercion and flattening effects, verify structure, and consider practical implications for indexing.
Explore how lists differ from vectors in R and how the length of a list reflects top-level elements, not all nested contents, with a box metaphor.
Explore how lists work as containers with boxes and elements, distinguish vectors from lists, and master single versus double bracket indexing to determine length and class of list elements.
Explore advanced list indexing in R by using numeric and named indices, plus the dollar operator, to access and drill into nested boxes and vectors.
Explore list indexing in R by comparing name-based and numeric indexing, including partial name matching with the dollar sign and bracket notation, and using variables to access list elements.
Create and manipulate data frames, the core R data structure for structured data, storing heterogeneous types in rows and columns like tables.
Learn to create data frames in R with the data.frame function by combining equal-length vectors into columns, assign meaningful names, and inspect structure with head, tail, str, nrow, and ncol.
Explore data frames in R by inspecting column names with head and names, converting matrices, renaming columns, and using summary for min, max, mean, median, quartiles, and missing values.
Learn how to create data frames from lists, vectors, and matrices in R, and handle common issues when converting between these structures.
Learn to create data frames in in R from lists, matrices, and vectors, using list items as columns and names as column headers; convert between these structures.
Learn how to subset data frames in R by selecting columns and rows using positions, names, dollar signs, and brackets, preserving the data frame structure.
Identify and count missing values in data frames, and locate their positions using logical indicators and functions like is.na and which for effective data cleaning.
Learn practical methods to locate and impute missing values in data frames using R, including is.na and which, zero or mean substitutions, and complete.cases for row removal.
Apply advanced subsetting techniques to data frames using conditional row and column selection, logical operators, and handling missing values for robust analytics.
Explore how while and for loops repeat statements in R, control execution with conditions and increments, and terminate when the condition fails, illustrated by a simple i and 2*i example.
Explore for loops in R to iterate over vectors, access elements, and capitalize strings. Compare for loops with while loops and use length and sequence to control iterations and output.
Explore how to control program flow in R using if-else structures, test conditions with logical operators, and implement simple scripts in the R shell to execute true or false blocks.
Master if else structures in R by testing conditions with equality and executing true or false blocks. Use if, else if, and the one-line ifelse for compact results.
Use the ifelse function in R to test a condition and return a true or false value, shown with a salary example and a one-line assignment.
Explore why web scraping matters for data science and how to extract, transform, and load web data into your analysis workflow, including APIs and unstructured data.
Master web scraping with R by reading data from the web via URL connections, using readLines to fetch HTML, and storing results as vectors for basic data manipulation.
Learn to scrape web data with R by reading web page lines. Convert a vector of 5,000 records into a data frame for churn analysis and basic data mining techniques.
Split a 5000-item vector into a list by comma using a string split function, converting each row into a data frame structure and extracting fields for later reshaping.
Scrape web data and perform data munging by transforming strings into lists and vectors, then convert to a data frame via matrices and row binding for churn analysis.
In this session, learn to cleanse and transform customer data in R, using a table to count state distributions and churned versus loyal customers.
Learn the basics of HTML, including tags, attributes, and elements, and how HTML gives structure to web pages, essential for effective web scraping and understanding page layouts.
Learn the basics of html tag structure, including opening and closing tags, the head and body sections, and how the title, meta description, and attributes support web scraping.
Learn to exploit the structure of web pages for efficient scraping by identifying patterns in html tags and attributes to extract product names and prices.
Explore the document object model, a W3C standard where every HTML tag is an object in a hierarchical tree. Learn how to traverse the DOM for web scraping.
Learn to scrape web data in R using the XML package, parse the HTML into a tree, and extract values from desired tags with XPath-based methods.
Learn to parse HTML documents in R using a package and extract information from a web page by traversing the HTML tree and targeting attributes.
Explore web scraping with XPath to programmatically extract data from HTML tags, including titles, attributes, and nested elements, using node selection patterns and attribute filters.
Explore programmatic extraction of data from HTML using XPath with the ex-MIL package, applying node selection and retrieval of the title tag to build web scraping foundations.
Explore how RSelenium enables automating the browser with the web driver API in R for web scraping, form filling, and interactive pages, with practical steps in upcoming lessons.
Explore the Selenium client–server model, including WebDriver, Selenium Server, and API, learn how to install locally, run scripts, and automate browser actions for web scraping.
Learn to install and load RSelenium in R with install.packages and library, choose a mirror, and manage dependencies for web scraping.
Install and load RSelenium, then initialize the selenium server to enable automated web scraping in R. Practice launching the server, managing the Java binary, and interacting via the client-server model.
Learn to set up RSelenium, start the RSelenium server, create a remote driver object, connect to the server, and launch a browser to perform automated web scraping tasks.
Learn to automate web scraping with selenium: navigate pages, locate elements via XPath, type into a search box, press enter, and handle common connection issues.
Develop a selenium-based web scraper to compare Melbourne and Sydney real estate prices by extracting data from Gumtree, analyzing price, bedrooms, bathrooms, CBD distance, and ethical considerations.
Develop a practical web scraping pipeline for real estate data, using selenium and ex-parte to extract, clean, transform, and load house data into a data frame for analysis.
Plan a website analysis to enable efficient scraping of real estate listings on Gumtree Australia. Inspect elements, map the data structure, and extract price and distance with Selenium.
Learn how to install and load RSelenium, initialize the Selenium server, and configure Firefox with a Gecko driver for web scraping in R.
Discover the right way to start selenium server by downloading the standalone jar or selenium package, then launch manually and ensure a gecko driver for Firefox.
Handle RSelenium's driver issues by downloading and placing the gecko driver with the selenium jar, then start RSelenium from the command prompt and navigate to the driver directory.
launch the selenium server jar with the gecko driver via a command prompt, set the driver path with -D, and connect to the server on localhost and its port.
Initialize selenium, connect to a remote selenium server, and instantiate a driver to scrape Melbourne and Sydney real estate data into a frame with price, bedrooms, bathrooms, distance, and city.
Learn to navigate web pages with RSelenium, locate price data using XPath, inspect the HTML structure, and clean currency values for analysis.
Use the apply family to extract price data from RSelenium objects by applying get element text to each list item, then flatten with unlist into a clean vector.
Learn advanced data munging in R by cleaning price data with regex and string processing: remove dollar signs and commas, apply transformation across vectors, and convert to numeric for analysis.
Extract numeric bedroom counts from web pages using R, inspect element techniques, and regular expressions, then clean and convert them to numeric values with apply and string processing functions.
Demonstrates extracting numeric values from attributes with regex in R and applying numeric bucketing to discretize continuous features, including distance to CBD, for factorized data analysis.
Learn advanced data frames manipulation in R by constructing and combining vectors into data frames, filling city values, and iterating across pages with automation to build a complete dataset.
Learn to automate web scraping in R using Selenium to collect Melbourne real estate data across multiple pages, looping with a while loop to build a single data frame.
Analyze Melbourne and Sydney real estate data in R by reading a combined data frame, computing mean prices by city and bedroom count, and visualizing distributions to reveal outliers and insights.
R is considered as lingua franca of Data Science. Candidates with expertise in R programming language are in exceedingly high demand and paid lucratively in Data Science. IEEE has repeatedly ranked R as one of the top and most popular Programming Languages. Almost every Data Science and Machine Learning job posted globally mentions the requirement for R language proficiency. All the top ranked universities like MIT have included R in their respective Data Science courses curriculum.
With its growing community of users in Open Source space, R allows you to productively work on complex Data Analysis and Data Science projects to acquire, transform/cleanse, analyse, model and visualise data to support informed decision making. But there's one catch: R has quite a steep learning curve!
How's this course different from so many other courses?
Many of the available training courses on R programming don't cover it its entirety. To be proficient in R for Data Science requires thorough understanding of R programming constructs, data structures and none of the available courses cover them with the comprehensiveness and depth that each topic deserves. Many courses dive straight into Machine Learning algorithms and advanced stuff without thoroughly comprehending the R programming constructs. Such approaches to teach R have a lot of drawbacks and that's where many Data Scientists struggle with in their professional careers.
Also, the real value in learning R lies in learning from professionals who are experienced, proficient and are still working in Industry on huge projects; a trait which is missing in 90% of the training courses available on Udemy and other platforms.
This is what makes this course stand-out from the rest. This course has been designed to address these and many other fallacies and uniquely teaches R in a way that you won't find anywhere else. Taught by me, an experienced Data Scientist currently working in Deloitte (World's largest consultancy firm) in Australia and has worked on a number of Data Science projects in multiple niches like Retail, Web, Telecommunication and web-sector. I have over 5 years of diverse experience of working in my own start-ups (related to Data Science and Networking), BPO and digital media consultancy firms, and in academia's Data Science Research Labs. Its a rare combination of exposure that you will hardly find in any other instructor. You will be leveraging my valuable experience to learn and specialize R.
What you're going to learn in this course?
The course will start from the very basics of introducing Data Science, importance of R and then will gradually build your concepts. In the first segment, we'll start from setting up R development environment, R Data types, Data Structures (the building blocks of R scripts), Control Structures and Functions.
The second segment comprises of applying your learned skills on developing industry-grade Data Science Application. You will be introduced to the mind-set and thought-process of working on Data Science Projects and Application development. The project will then focus on developing automated and robust Web Scraping bot in R. You will get the amazing opportunities to discover what multiple approaches are available and how to assess alternatives while making design decisions (something that Data Scientists do everyday). You will also be exposed to web technologies like HTML, Document Object Model, XPath, RSelenium in the context of web scraping, that will take your data analysis skills to the next level. The course will walk you through the step by step process of scraping real-life and live data from a classifieds website to analyse real-estate trends in Australia. This will involve acquiring, cleansing, munging and analyzing data using R statistical and visualisation capabilities.
Each and every topic will be thoroughly explained with real-life hands-on examples, exercises along with disseminating implications, nuances, challenges and best-practices based on my years of experience.
What you will gain from this course will be incomparable to what's currently available out there as you will be leveraging my growing experience and exposure in Data Science. This course will position you to not only apply for Data Science jobs but will also enable you to use R for more challenging industry-grade projects/problems and ultimately it will super-charge your career.
So take the decision and enrol in this course and lets work together to make you specialize in R Programming like never before!