Previous chapters introduced various topics that are important for application development, including data types (section 2.2), control flow (section 5.4), and function creation (section 5.5). This chapter will review these aspects of R as a programming language from a more advanced and detailed perspective. By the end of this chapter, you’ll have a better idea of how the R language works, which will help you create your own functions, and ultimately, your own packages.
We’ll start with a review of objects, data types, and control flow before moving on to details of function creation, including the role of scope and environments. The chapter introduces R’s approach to object-oriented programming and discusses the creation of generic functions. Finally, we’ll go over tips for writing efficient code-generating and debugging applications. Mastery of these topics will help you understand the code in other people’s applications and aid you in creating new applications. In chapter 22, you’ll have an opportunity to put these skills into practice by creating a useful package from start to finish.