Introduction to Scientific Programming and Simulation Using R
- Add to cart
- Price:
$83.95$75.56 - Hardback: 472 pages
- Also available in e-Book
- Published: March 2009
- ISBN: 978-1-4200687-2-6
- Publisher: Chapman and Hall/CRC
Sharing & Social Bookmarking:
Question about this product?
- By Owen Jones, Robert Maillardet and Andrew Robinson.
Known for its versatility, the free programming language R is widely used for statistical computing and graphics, but is also a fully functional programming language well suited to scientific programming.
An Introduction to Scientific Programming and Simulation Using R teaches the skills needed to perform scientific programming while also introducing stochastic modelling. Stochastic modelling in particular, and mathematical modelling in general, are intimately linked to scientific programming because the numerical techniques of scientific programming enable the practical application of mathematical models to real-world problems.
Following a natural progression that assumes no prior knowledge of programming or probability, the book is organised into four main sections:
- Programming In R starts with how to obtain and install R (for Windows, MacOS, and Unix platforms), then tackles basic calculations and program flow, before progressing to function based programming, data structures, graphics, and object-oriented code
- A Primer on Numerical Mathematics introduces concepts of numerical accuracy and program efficiency in the context of root-finding, integration, and optimization
- A Self-contained Introduction to Probability Theory takes readers as far as the Weak Law of Large Numbers and the Central Limit Theorem, equipping them for point and interval estimation
- Simulation teaches how to generate univariate random variables, do Monte-Carlo integration, and variance reduction techniques
In the last section, stochastic modelling is introduced using extensive case studies on epidemics, inventory management, and plant dispersal. A tried and tested pedagogic approach is employed throughout, with numerous examples, exercises, and a suite of practice projects. Unlike most guides to R, this volume is not about the application of statistical techniques, but rather shows how to turn algorithms into code. It is for those who want to make tools, not just use them.
Table of Contents
Part I: PROGRAMMING
Setting Up
Installing R
Starting R
Working Directory
Writing Scripts
Help
Supporting Material
R as a Calculating Environment
Arithmetic
Variables
Functions
Vectors
Missing data
Expressions and assignments
Logical expressions
Matrices
The workspace
Basic Programming
Introduction
Branching with if
Looping with for
Looping with while
Vector-based programming
Program flow
Basic debugging
Good programming habits
I/O: Input and Output
Text
Input from a file
Input from the keyboard
Output to a file
Plotting
Programming with Functions
Functions
Scope and its consequences
Optional arguments and default values
Vector-based programming using functions
Recursive programming
Debugging functions
Sophisticated Data Structures
Factors
Dataframes
Lists
The apply family
Better Graphics
Introduction
Graphics parameters: par
Graphical augmentation
Mathematical typesetting
Permanence
Grouped graphs: lattice
3D-plots
Pointers to Further Programming Techniques
Packages
Frames and environments
Debugging again
Object-oriented programming: S3
Object-oriented programming: S4
Compiled code
Further reading
Part II: NUMERICAL TECHNIQUES
Numerical Accuracy and Program Efficiency
Machine representation of numbers
Significant digits
Time
Loops versus vectors
Memory
Caveat
Root-Finding
Introduction
Fixed-point iteration
The Newton-Raphson method
The secant method
The bisection method
Numerical Integration
Trapezoidal rule
Simpson’s rule
Adaptive quadrature
Optimisation
Newton’s method for optimisation
The golden-section method
Multivariate optimisation
Steepest ascent
Newton’s method in higher dimensions
Optimisation in R and the wider world
A curve fitting example
Part III: PROBABILITY AND STATISTICS
Probability
The probability axioms
Conditional probability
Independence
The Law of Total Probability
Bayes’ theorem
Random Variables
Definition and distribution function
Discrete and continuous random variables
Empirical cdf’s and histograms
Expectation and finite approximations
Transformations
Variance and standard deviation
The Weak Law of Large Numbers
Discrete Random Variables
Discrete random variables in R
Bernoulli distribution
Geometric distribution
Negative binomial distribution
Poisson distribution
Continuous Random Variables
Continuous random variables in R
Uniform distribution 282
Lifetime models: exponential and Weibull
The Poisson process and the gamma distribution
Sampling distributions: normal, x2, and t
Parameter Estimation
Point Estimation
The Central Limit Theorem
Confidence intervals
Monte-Carlo confidence intervals
Part IV: SIMULATION
Simulation
Simulating iid uniform samples
Simulating discrete random variables
Inversion method for continuous rv
Rejection method for continuous rv
Simulating normals
Monte-Carlo Integration
Hit-and-miss method
(Improved) Monte-Carlo integration
Variance Reduction
Antithetic sampling
Importance sampling
Control variates
Case Studies
Introduction
Epidemics
Inventory
Seed dispersal
Student Projects
The level of a dam
Roulette
Buffon’s needle and cross
Insurance risk
Squash
Stock prices
Glossary of R commands
Programs and functions developed in the text
Index
Reviews
… a very coherent and useful account of its chosen subject matter. … The programming section … is more comprehensive than Braun & Murdoch (2007), but more accessible than Venables & Ripley (2000). … The book deserves a place on university library shelves … One very useful feature of the book is that nearly every chapter has a set of exercises. There are also plenty of well-chosen examples throughout the book that are used to explain the material. I also appreciated the clear and attractive programming style of the R code presented in the book. I found very little in the way of typos or solecisms. … I can strongly recommend the book for its intended audience. If I ever again have to teach our stochastic modelling course, I will undoubtedly use some of the exercises and examples from Scientific Programming and Simulation Using R.
—David Scott, Australian & New Zealand Journal of Statistics, 2011
It is not often that I think that a statistics text is one that most scientifc statisticians should have in their personal libraries. Introduction to Scientific Programming and Simulation Using R is such a text. … This text provides scientific researchers with a working knowledge of R for both reviewing and for engaging in the statistical evaluation of scientific data. …It is particularly useful for understanding and developing modeling and simulation software. I highly recommend the text, finding it to be one of the most useful books I have read on the subject.
—Journal of Statistical Software, September 2010, Volume 36
The authors have written an excellent introduction to scientific programming with R. Their clear prose, logical structure, well-documented code and realistic examples made the book a pleasure to read. One particularly useful feature is the chapter of cases studies at the end, which not only demonstrates complete analyses but also acts as a pedagogical tool to review and integrate material introduced throughout the book. … I would strongly recommend this book for readers interested in using R for simulations, particularly for those new to scientific programming or R. It is also very student-friendly and would be suitable either as a course textbook or for self-study.
—Significance, September 2009
…I think that the techniques of scientific programming presented will soon enable the novice to apply statistical models to real-world problems. The writing style is easy to read and the book is suitable for private study. If you have never read a book on scientific programming and simulation, then I recommend that you start with this one.
—International Statistical Review, 2009
