Overview
The Introduction to R programming course helps participants familiarize themselves with concepts like manipulating objects in R, such as, reading data, accessing R packages, writing R functions and creating informative graphs. The course also covers how to analyze data with the help of common statistical models and how to apply the R software on a command line as well as in a Graphical User Interface (GUI). The course combines hands-one exercises and engaging lectures to ensure that the participants get a thorough understanding of the concepts discussed.
What You'll Learn
- R and available GUIs
- R and statistics
- Data permanency and removing objects
- Objects, modes, attributes
- Arrays
- Matrices
- Lists and dataframes
- R as a set of statistical tables
- Packages and namespaces
Curriculum
- Making R more friendly, R and available GUIs
- The R environment
- Related software and documentation
- R and statistics
- Using R interactively
- An introductory session
- Getting help with functions and features
- R commands, case sensitivity, etc.
- Recall and correction of previous commands
- Executing commands from or diverting output to a file
- Data permanency and removing objects
- Vectors and assignment
- Vector arithmetic
- Generating regular sequences
- Logical vectors
- Missing values
- Character vectors
- Index vectors; selecting and modifying subsets of a data set
- Other types of objects
- Intrinsic attributes: mode and length
- Changing the length of an object
- Getting and setting attributes
- The class of an object
- A specific example
- The function tapply() and ragged arrays
- Ordered factors
- 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
- Generalized 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, (), with arrays
- Frequency tables from factors
- Lists
- Constructing and modifying lists
- Concatenating lists
- Data frames
- Making data frames
- attach() and detach()
- Working with data frames
- Attaching arbitrary lists
- Managing the search path
- The read.table() functions
- The scan() function
- Accessing built-in data sets
- Loading data from other R packages
- Editing data
- R as a set of statistical tables
- Examining the distribution of a set of data
- One- and two-sample tests
- Grouped expressions
- Control statements
- Conditional execution: IF statements
- Repetitive execution: FOR loops, REPEAT and WHILE
- 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
- Customizing the environment
- Classes, generic functions and object orientation
- Defining statistical models; formulae
- Contrasts
- Linear models
- Generic functions for extracting model information
- Analysis of variance and model comparison
- ANOVA tables
- Updating fitted models
- Generalized linear models
- Families
- The glm() function
- Nonlinear least squares and maximum likelihood models
- Least squares
- Maximum likelihood
- Some non-standard models
- High-level plotting commands
- The plot() function
- Displaying multivariate data
- Display graphics
- Arguments to high-level plotting functions
- Low-level plotting commands
- Mathematical annotation
- Hershey vector fonts
- Interacting with graphics
- Using graphics parameters
- Permanent changes: The par() function
- Temporary changes: Arguments to graphics functions
- Graphics parameters list
- Graphical elements
- Axes and tick marks
- Figure margins
- Multiple figure environment
- Device drivers
- PostScript diagrams for typeset documents
- Multiple graphics devices
- Dynamic graphics
- Standard packages
- Contributed packages and CRAN
- Namespaces
Who should attend
- Developers
- Data scientists
- UI/UX designers and developers
- Software engineers
- Software architects