Statistical Computing in C++ and R

Statistical Computing in C++ and R

Series:
Published:
Content:
Author(s):
Free Standard Shipping

Purchasing Options

Hardback
$93.95 $75.16
ISBN 9781420066500
Cat# C6650
Add to cart
SAVE 20%
eBook (VitalSource)
$89.95 $62.97
ISBN 9781439893937
Cat# KE14990
Add to cart
SAVE 30%
eBook Rentals
 

Features

  • Integrates both C++ and R for the solution of statistical computing problems
  • Covers object-oriented programming in both languages
  • Uses C++ code in R and R functions in the C++ program
  • Presents applications of the C++ Standard Template Library for statistical computing purposes
  • Provides an introduction to parallel processing in C++ and R

Summary

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

Introduction
Programming paradigms
Object-oriented programming
What lies ahead

Computer representation of numbers
Introduction
Storage in C++
Integers
Floating-point representation
Errors
Computing a sample variance
Storage in R
Exercises

A sketch of C++
Introduction
Variables and scope
Arithmetic and logical operators
Control structures
Using arrays and pointers
Functions
Classes, objects and methods
Miscellaneous topics
Matrix and vector classes
.Input, output and templates
.Function templates
.Exercises

Generation of pseudo-random numbers
Introduction
Congruential methods
Lehmer type generators in C++
An FMclass
Other generation methods
Nonuniform generation
Generating random normals
Generating random numbers in R
Using the R Standalone Math Library
.Exercises

Programming in R
Introduction
File input and output
Classes, methods and namespaces
Writing R functions
Avoiding loops in R
An example
Using C/C++ code in R
Exercises

Creating classes and methods in R
Introduction
Creating a new class
Generic methods
An example
Exercises

Numerical linear algebra
Introduction
Solving linear equations
Eigenvalues and eigenvectors
Singular value decomposition
Least squares
The Template Numerical Toolkit
Exercises

Numerical optimization
Introduction
Function objects
Golden section
Newton’s method
Maximum likelihood
Random search
Exercises

Abstract data structures
Introduction
ADT dictionary
ADT priority queue
ADT ordered set
Pointer arithmetic, iterators and templates
Exercises

Data structures in C++
Introduction
Container basics
Vector and deque
The C++ list container
Queues
The map and set containers
Algorithm basics
Exercises

Parallel computing in C++ and R
Introduction
OpenMP
Basic MPI commands for C++
Parallel processing in R
Parallel random number generation
Exercises
A An introduction to Unix
A.Getting around and finding things
A.Seeing what’s there
A.Creating and destroying things
A.Things that are running and how to stop them
B An introduction to R
B.R as a calculator
B.R as a graphics engine
B.R for statistical analysis
C C++ library extensions (TR)
C.Pseudo-random numbers
C.Hash tables
C.Tuples
D The Matrix and Vector classes
E The ranGen class
References
Index

Editorial Reviews

"…the first treatment of parallel programming in R that I have seen in a book. The text is replete with code examples and there are numerous end-of-chapter exercises."
International Statistical Review, 2013

 
Textbooks
Other CRC Press Sites
Featured Authors
STAY CONNECTED
Facebook Page for CRC Press Twitter Page for CRC Press You Tube Channel for CRC Press LinkedIn Page for CRC Press Google Plus Page for CRC Press Pinterest Page for CRC Press
Sign Up for Email Alerts
© 2014 Taylor & Francis Group, LLC. All Rights Reserved. Privacy Policy | Cookie Use | Shipping Policy | Contact Us