Introduction to Scientific Programming and Simulation Using R

Hardcover (Print)
Rent from
(Save 67%)
Est. Return Date: 06/26/2015
Buy New
Buy New from
Used and New from Other Sellers
Used and New from Other Sellers
from $72.91
Usually ships in 1-2 business days
(Save 20%)
Other sellers (Hardcover)
  • All (7) from $72.91   
  • New (4) from $91.36   
  • Used (3) from $72.91   


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.

Read More Show Less

Editorial Reviews

From the Publisher
This book is a good resource for someone who wants to learn R and use R for statistical computing and graphics. It will also serve well as a textbook or a reference book for students in a course related to computational statistics.
—Hon Keung Tony Ng, Technometrics, May 2011

… 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

Read More Show Less

Product Details

  • ISBN-13: 9781420068726
  • Publisher: Taylor & Francis
  • Publication date: 3/5/2009
  • Series: Chapman & Hall/CRC The R Series, #21
  • Pages: 474
  • Product dimensions: 6.30 (w) x 9.40 (h) x 1.40 (d)

Table of Contents


Setting Up

Installing R

Starting R

Working Directory

Writing Scripts


Supporting Material

R as a Calculating Environment





Missing data

Expressions and assignments

Logical expressions


The workspace

Basic Programming


Branching with if

Looping with for

Looping with while

Vector-based programming

Program flow

Basic debugging

Good programming habits

I/O: Input and Output


Input from a file

Input from the keyboard

Output to a file


Programming with Functions


Scope and its consequences

Optional arguments and default values

Vector-based programming using functions

Recursive programming

Debugging functions

Sophisticated Data Structures




The apply family

Better Graphics


Graphics parameters: par

Graphical augmentation

Mathematical typesetting


Grouped graphs: lattice


Pointers to Further Programming Techniques


Frames and environments

Debugging again

Object-oriented programming: S3

Object-oriented programming: S4

Compiled code

Further reading


Numerical Accuracy and Program Efficiency

Machine representation of numbers

Significant digits


Loops versus vectors





Fixed-point iteration

The Newton-Raphson method

The secant method

The bisection method

Numerical Integration

Trapezoidal rule

Simpson’s rule

Adaptive quadrature


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



The probability axioms

Conditional probability


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


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



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




Seed dispersal

Student Projects

The level of a dam


Buffon’s needle and cross

Insurance risk


Stock prices

Glossary of R commands

Programs and functions developed in the text


Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)