Statistical Computing in C++ and R
- Length: 556 pages
- Edition: 1
- Language: English
- Publisher: Chapman and Hall/CRC
- Publication Date: 2011-12-01
- ISBN-10: 1420066501
- ISBN-13: 9781420066500
- Sales Rank: #1764549 (See Top 100 Books)
With the advancement of statistical methodology inextricably linked to the use of computers, new methodological ideas must be translated into usable code and then numerically evaluated relative to competing procedures. In response to this, Statistical Computing in C++ and R concentrates on the writing of code rather than the development and study of numerical algorithms per se. The book discusses code development in C++ and R and the use of these symbiotic languages in unison. It emphasizes that each offers distinct features that, when used in tandem, can take code writing beyond what can be obtained from either language alone.
The text begins with some basics of object-oriented languages, followed by a “boot-camp” on the use of C++ and R. The authors then discuss code development for the solution of specific computational problems that are relevant to statistics including optimization, numerical linear algebra, and random number generation. Later chapters introduce abstract data structures (ADTs) and parallel computing concepts. The appendices cover R and UNIX Shell programming.
Features
- Includes numerous student exercises ranging from elementary to challenging
- Integrates both C++ and R for the solution of statistical computing problems
- Uses C++ code in R and R functions in C++ programs
- Provides downloadable programs, available from the authors’ website
The translation of a mathematical problem into its computational analog (or analogs) is a skill that must be learned, like any other, by actively solving relevant problems. The text reveals the basic principles of algorithmic thinking essential to the modern statistician as well as the fundamental skill of communicating with a computer through the use of the computer languages C++ and R. The book lays the foundation for original code development in a research environment.
Table of Contents
Chapter 1. Introduction
Chapter 2. Computer representation of numbers
Chapter 3. A sketch of C++
Chapter 4. Generation of pseudo-random numbers
Chapter 5. Programming in R
Chapter 6. Creating classes and methods in R
Chapter 7. Numerical linear algebra
Chapter 8. Numerical optimization
Chapter 9. Abstract data structures
Chapter 10. Data structures in C++
Chapter 11. Parallel computing in C++ and R
Appendix A. An introduction to Unix
Appendix B. An introduction to R
Appendix C. C++ library extensions (TR1)
Appendix D. The Matrix and Vector classes
Appendix E. The ranGen class