Conceptually, we introduced and distinguished between
- different R objects (e.g., data vs. functions),
- different types of data (e.g., Boolean values of type logical, numeric objects of type double or integer, and text objects of type character), and
- different shapes of data (e.g., scalars vs. longer vectors).
In Section 2.2, we distinguished data objects from functions and showed how to create and change scalar objects in R (by assignment). In Section 2.3, we introduced the notion of atomic vectors and learned how to create vectors of various lengths (by using vector creation functions and logical or numeric indexing). Finally, Section 2.4 introduced the elements of functions (e.g., required vs. optional arguments) and showed how functions can be explored.
A key limitation of this chapter was that we used linear vectors as the only data structure. In Chapter 3 on Data structures, we will encounter atomic vectors in more complex shapes (e.g., as matrices) and learn to combine them into more complex data structures (e.g., data frames or lists).
There is no shortage of introductory books and scripts on R, but it is helpful to look for one that fits your interests and level of expertise.
Books and online scripts
YaRrr! The Pirate’s Guide to R (Phillips, 2018) is an introduction that approaches R in a funny and entertaining fashion. (See Rpository.com/learnR/ for a course with corresponding exercises and solutions.)
Advanced R (2nd edition) (Wickham, 2019a) is an valuable source for R users who want to deepen their programming skills and understanding of the language. The following chapters cover topics relevant to basic R concepts and commands in much more detail:
- For advanced users, Hadley Wickham's books [Advanced R](http://adv-r.had.co.nz/) [@Wickham2014advanced; @Wickham2019advanced] and [R Packages](http://r-pkgs.had.co.nz/) [@Wickham2015] are indispensable resources
Here are some pointers to related RStudio cheatsheets:
- Base R:
- Advanced R:
Other helpful links that do not fit into the above categories include:
R-bloggers collects blog posts on R.
Quick-R (by Robert Kabacoff) is a popular website on R programming.
R-exercises provides categorized sets of exercises to help people developing their R programming skills.