账号: 密码:
中国大学出版社协会 | 首页 | 宏观指导 | 出版社天地 | 图书代办站 | 教材图书信息 | 教材图书评论 | 在线订购 | 教材征订
搜索 新闻 图书 ISBN 作者 音像 出版社 代办站 教材征订
购书 请登录 免费注册 客服电话:010-62510665 62510769
图书查询索引 版别索引 分类索引 中图法分类 专业分类 用途分类 制品类型 读者对象 自分类 最新 畅销 推荐 特价 教材征订
综合查询
R语言的科学编程与仿真(R语言应用系列) - 中国高校教材图书网
书名: R语言的科学编程与仿真(R语言应用系列)
ISBN:9787560562421 条码:
作者: 〔澳〕欧文•琼斯 罗伯特•梅拉德特 安德鲁•鲁宾逊 著  相关图书 装订:平装
印次:1-1 开本:16开
定价: ¥73.00  折扣价:¥69.35
折扣:0.95 节省了3.65元
字数:
出版社: 西安交通大学出版社 页数:
发行编号: 每包册数:
出版日期: 2014-12-12
小团购 订购 咨询 推荐 打印 放入存书架

内容简介:
由于其功能的多样性,免费编程语言R被广泛应用在统计计算与制图学中,并且它是一种非常适合科学编程的完全的函数式编程语言(functional programming language)。
这本书主要介绍了科学编程与随机建模的一些技巧。数学建模、特别是随机建模与科学编程具有紧密的联系,因为科学编程中的数值方法使利用数学模型处理实际问题变成一种可能。
以下是本书的结构,假定读者群不具备编程与统计的相关知识,书的内容由如下四部分组成:


 R中的编程从如何获得并安装R开始(分别针对Windows、MacOS和Unix平台),然后介绍了基本的计算与程序流程,最后进一步讨论了基于函数的编程、数据结构、制图和面向对象的代码;
 数值计算的入门介绍求根方法、数值积分和优化问题中关于精度与编程效率等概念;
 概率理论的独立介绍一直涉及到弱大数定律和中心极限定律,并且讲述了使用这些理论来处理点估计与区间估计问题;
 数值仿真介绍了如何产生单独的随机变量、Monte-Carlo数值积分和方差缩减技巧。


在最后一部分中,本书使用了大量关于流行病、库存管理和植物种子扩散的例子来介绍如何进行随机建模。通篇使用的皆为可靠的方法,并提供了大量的示例、练习和实际工程问题。
不同于大部分R的指导书,本书不仅介绍了统计方法的应用,还介绍了如何将算法转化为代码。这一点对于那些不仅希望使用代码,而且想要设计代码的人是很有用的。

作者简介:
 
章节目录:
简要目录
译者序
前言
第Ⅰ部分 编程
第1章 安装
第2章 基于R的计算环境
第3章 编程基础
第4章 输入和输出
第5章 函数化编程
第6章 复杂数据结构
第7章 绘图
第8章 R语言高级编程技术
第Ⅱ部分 数值计算
第9章 数值精度与程序的效率
第10章 求根
第11章 数值积分
第12章 最优化
第Ⅲ部分 概率与统计
第13章 概率
第14章 随机变量
第15章 离散型随机变量
第16章 连续型随机变量
第17章 参数估计
第Ⅳ部分 模 拟
第18章 模拟
第19章 蒙特卡洛积分
第20章 方差缩减
第21章 案例研究
第22章 案例选讲


R命令术语表
书中涉及的程序与函数
索引

精彩片段:
前 言

这本书有两个主要的目标:对科学编程的讲解和对随机建模的介绍。由于科学编程中的数值方法使利用数学模型处理实际问题变成一种可能,因此,数学建模、尤其是随机建模与科学编程具有紧密的内在联系。本书中有关随机建模与仿真的数值方法将指导我们如何分析一些棘手的建模问题。

此外,仿真还是一种我们已知的进行统计判断最好的方法。

本书假定用户已经完成了或者正在进行大学第一年微积分课程的学习。本书中涉及到的相关知识比较适合于理科/工程/商贸专业的本科一二年级学生,以及一些应用领域中硕士水平的学生。对于本书的学习并非特别需要编程及概率的一些前期知识。

针对比较强调仿真应用的一些概率课程,本书可以作为入门的课程来学习。现代应用概率论和统计学是比较强调数值分析的,此书中我们从一开始就将编程与概率论的知识进行了有机的结合。

我们之所以选择R语言作为编程的工具,是因为其具有一些与众不同的特点。在R的执行过程中,我们并不详细介绍相关的统计分析方法(虽然有些方法被公认为是相当漂亮的),而是重点讲述如何将算法转换为相应的代码。我们潜在的读者群应该是那些想要编写工具的人,而不仅仅是使用工具的人。

作为本书的补充内容,程序包spuRs包含了我们所需要使用的大部分代码和数据。在第1章中我们讲述了如何安装这个程序包。在书的最后我们还给出了文中涉及到的程序名索引以及R命令术语表。

课程结构设置

这本书的内容对于第一年的课程学习来说可能有些过多,其包括课堂授课36次,一小时专题辅导12次,两小时实验课12次。然而,由于本书包含的内容对于任何具体课程来说都是足够的,因此,我们可以根据不同的课程结构来选择相应的内容,或者根据不同的需求来选择对应的知识。我们发现实验课教学是非常重要的,这是由于在实验课上学生可以通过具体的实验过程来学习如何编程。因而,教师可以直接使用文中给出的大量示例和习题来让学生进行实验课程的学习,这些示例和习题是第22章编程设计的一个补充,其都是基于我们给学生布置的课外作业。

核心内容 接下来的这些章节包含了我们对于科学编程与仿真课程的核心知识。

第Ⅰ部分:R的核心知识以及编程的基本概念。见1~6章。

第Ⅱ部分:从数值角度来思考数学:使用第一部分中的概念来实现求根和数值积分。见9~11章。

第Ⅲ部分:通过概率论、随机变量和数学期望的基本知识来理解仿真。13~15章讲述了均匀分布。

第Ⅳ部分:随机建模与仿真:随机数生成、蒙特卡洛积分法、案例研究。见18.1~18.2章节,19章,21.1~21.2章节,22章。

其他有关随机方面的知识内容 上述这些核心知识仅仅涉及到了离散型随机变量,对于估计方面只是使用了样本均值收敛于总体均值的概念。16章和17章增加了一些连续型随机变量、中心极限定理和置信区间的内容。18.3~18.5节以及20章介绍了一些有关模拟连续型随机变量以及方差缩减的知识。在对连续型随机变量有了一些了解之后,我们在21.3~21.4节中给出了一些较容易理解的相关案例。

需要注意的是,在22章中所提到的一些使用连续型随机变量的示例是可以很容易使用离散型随机变量来替代的。

其他有关编程和数值分析方面的知识 核心内容中给出的有关基本绘图的内容是完全足够的,但是,如果要绘制更加专业的图形,就需要参考第7章了。有关更深层次的编程问题,第8章起到了桥梁的作用,这对于想编写更完美程序的读者是非常有用的。

第12章介绍的是有关单变量和多变量的最优化问题.12.3~12.7节主要讲述的是多变量的最优化问题,这一部分的内容要比其他部分难一些,需要读者相当熟悉向量的微积分知识。除了示例17.1.2之外,这一部分的知识是比较独立的,使用optim函数就可以了。然而,如果你想像使用黑匣子那样使用optim函数,这个示例也是比较容易理解的,而不需要专门学习有关多变量最优化的相关知识。

章节概要

1:安装。这一章主要介绍如何获取并安装R,并且给出本书的补充知识spuRs程序包。

2:基于R的计算环境。这一章将介绍如何使用R进行算术计算;创建并控制变量、向量和矩阵;进行逻辑运算;调用R的内部函数并获得相关帮助信息;了解工作空间。

3:编程基础。这一章将介绍一系列构成各种程序的基础编程模块。其中某些结构在各种程序设计语言中都是相同的,例如if,for和while语句。而还有一些方面却是与众不同的,例如针对向量的编程,这些不同主要是由于考虑到R代码的效率所确定的。

4:输入与输出。这一章主要介绍一些R提供的将数据输入进行分析和输出或存储结果的基本知识。其中,第6章对如何导入数据进行了详细的介绍,第7章对于绘图进行了详细的介绍。

5:函数化编程。这一章是对第3章相应内容的补充,涉及到了用户自定义函数。具体的内容包括如何创建函数,创建函数应遵守的法则,如何在某种工作环境中调用函数等。我们同样还介绍了一些创建函数的小技巧,以及在R中如何使用这些技巧。

6:复杂数据结构。这一章中将介绍R中一些较复杂的数据结构——列表与数据框,它们可以简化数据的表示法、操作以及分析。数据框有点像矩阵,但是其允许在不同的列中有不同的数据模式,列表是一种普通的数据存储对象,其几乎覆盖了各种类型的R对象。此外,我们还介绍了因子,其作用是表示分类对象。

7:绘图。在第4章的基础上,本章对R的绘图能力进行了更深入的阐释。我们介绍了默认绘图功能的各方面知识,还探讨了如何通过绘图参数来调整图形并在一页中绘制多个图形。并且展示了如何将图形存储为各种不同的格式。最后,我们给出了可以表示多维数据(格图)和3D图形的一些绘图工具。

8:R语言高级编程技术。这一章中简要提及了一些R语言中的高级编程思想。主要介绍了程序包的管理及交互使用,并给出了R管理我们在工作空间中创建的对象以及我们所运行函数的一些细节信息。此外,还对如何调试所编写函数提供了一些建议。

最后,提供了R作为一种面向对象的程序设计语言的一些基础信息,例如,执行由其他计算机语言,譬如C,所编译的代码。

9:数值精度与程序的效率。在这一章中,我们将从细节角度考虑计算机的操作及编程问题,特别是针对R语言。我们主要考虑计算机如何表示数字,以及表示精度对于计算结果的影响。还涉及计算机执行计算所需的时间,及如何从编程技术角度减少计算所需的时间。最后,我们考虑了计算机内存因素对于计算效率的影响问题。

10:求根。这一章主要介绍了一系列不同的求根方法。包括了不动点迭代法,牛顿-拉富生算法,割线法和二分法。

11:数值积分。这一章将介绍数值积分的相关知识。对于积分而言,一个主要的问题是显示的原函数不一定存在。在这种情况下,我们就可以试着使用计算方法的手段来得到积分的近似解。本章主要涉及了梯形积分法,辛普森积分法和自适应积分法。

12:最优化。这一章讲述的主要问题是如何求解某些函数可能存在的最大值或者最小值。对于一元函数我们主要介绍了牛顿法和黄金分割法,对于多元函数我们主要介绍了最速上升/下降法和牛顿法。此外,我们还进一步提供了一些R中常用的最优化工具的信息。

13:概率。为了更准确地描述客观世界,这一章将讲述一些数学概率的知识,它考虑的主要是如何描述和研究不确定性问题。我们在此将讲述概率公理化和条件概率,此外,我们还将讲述全概率公式,其可以将复杂的概率问题分解为易于处理的简单问题;并且讲述贝叶斯理论,其将以一种非常有用的方式来处理有关条件概率的问题。

14:随机变量。这一章中介绍随机变量的相关概念。我们将分别给出离散型和连续型随机变量的定义,并讲述各种用来描述它们分布的方法,包括分布函数、概率累积函数和概率密度函数。我们还将给出数学期望、方差、独立性和协方差的定义。此外,本章还将给出随机变量变换的相关知识,并将得到弱大数定理。

15:离散型随机变量。这一章中将主要介绍一些相对重要的离散型随机变量,以及R中与其相关的一些函数。内容包括了伯努利分布、二项分布、几何分布、负二项分布和泊松分布。

16:连续型随机变量。这一章将介绍一些连续型随机变量的理论、应用及其在R中的表示。包括均匀分布、指数分布、威布尔分布、伽玛分布、正态分布、x2分布和t分布。

17:参数估计。这一章主要讲述点估计和区间估计。我们将分别介绍中心极限定理、正态近似、渐近置信区间和蒙特卡洛置信区间。

18:模拟。在这一章中我们将分别讲述如何模拟均匀分布随机变量和离散型随机变量,并给出如何使用逆变换方法和拒绝法来模拟连续型随机变量。此外,我们还将介绍一些模拟正态随机变量的方法。

19:蒙特卡洛积分。这一章将介绍一些基于模拟进行积分的方法。内容包括投点法和更高效的蒙特卡洛积分法。此外,本章还将比较这两种方法与第11章讲述的梯形法和辛普森方法在收敛速度上的一些不同结果。

20:方差缩减。这一章将讲述一些有关估计问题中抽样的新方法。内容包括对立抽样法、控制变量和重要抽样法。这些方法在实际应用中可以极大地提高模拟的效率。

21:案例研究。这一章中我们将给出三个具体的案例,分别是流行病问题、库存问题和种子传播问题(包括面向对象的编码的应用)。这些案例的主要目的还是阐述如何使用数值模拟方法。

22:案例选讲。这一章给出了一系列可以由学生来处理的问题。它们与上一章的例子比起来都比较简单,但是比每一章的课后题又更有意思。

参考文献/补充书目

如果你还想进一步学习一些有关科学编程与数值仿真的知识,本书作者在这里提供了一些比较有用的书籍。

R语言

W.N. Venables and B.D. Ripley, S Programming. Springer,2000.

W.N. Venables and B.D. Ripley, Modern Applied Statistics with S, Fourth Edition. Springer, 2002.

J.M. Chambers and T.J. Hastie(Editors), Statistical Models in S,.Brooks/Cole, 1992.

J. Maindonald and J. Braun, Data Analysis and Graphics Using R:An Example-Based Approach, Second Edition. Cambridge University Press, 2006.

科学编程/数值方法

W. Cheney and D. Kincaid, Numerical Mathematics And Compution, sixth Edition. Brooks/Cole, 2008.

M. T. Heath, Scientific Computing:An Introductory Survey, Second Edition. McGraw-Hill, 2002.

W. H. Press, S. A. Teukolsky, W. T. Vetterling and B. P. Flannery, Numerical Recipes, 3rd Edition:The Art of Scientific Computing. Cambridge University Press, 2007.

C. B. Moler, Numerical Computing with Matlab, Society for Industrial Mathematics, 2004.

随机建模与仿真

A. M. Law and W. D. Kelton, Simulation Modeling and Analysis, Third Edition. McGraw-Hill, 1999.

M. Pidd, Computer Simulation in Management Science, Fifth Edition. Wiley, 2004.

S. M. Ross, Applied Probability Models with Optimization Applications. Dover, 1992.

D. L. Minh, Applied Probability Models. Brooks/Cole, 2001.

几点说明

R在不断的更新中。每一年程序员都会推出或多或少的新版本,这些新版本涉及到很多对于前文的更新和更改,其中大多数是比较微小的,当然,也有一些是比较大的改变。然而,这些新版本并不完全保证是向下兼容的,因此,新版本有可能破坏原工作环境中某些代码的原功能。

例如,在我们书写这本书的过程中,R的版本从2.7.1升级到了2.8.0,而新版本与旧版本对于函数var的默认返回值是不同的,若输入中出现NA,旧版本将报错,而新版本将返回NA。值得庆幸的是,我们有充分的时间对这种情况做出明确的说明。

我们对R的所有更新做了总结,并且指明本书是与2.8.0版本配套的。spuRs程序包中将给出具体的勘误表。+

致谢

本书的大部分内容都是基于前两位作者在墨尔本大学的课程来编写的。这门课程已经持续了很多年,我们要特别感谢这些前期授课教师为本书奠定的基础结构,特别是史蒂夫·卡妮和查克·米勒。我们同样要感谢本书的校对员和审稿人:迦得·亚伯拉罕、保罗·布莱克威尔、史蒂夫·卡妮、阿兰·琼斯、大卫·罗尔斯,尤其是菲尔·斯佩克特、奥尔加·博洛夫科娃(Borovkova)和约翰·梅因唐纳德分别在编码问题和playwith程序包问题中给予了诸多帮助,在此表示衷心感谢。

我们还要感谢在为编写本书提供工具方面做出贡献和成绩的团体,他们使得本书能够顺利出版。在此特别感谢为R核心做出贡献的LATEX社区,GNU团体和为Sweave提供帮助的弗里德里希·莱切(Leisch)。

当然,没有我们的合作伙伴这本书也是无法完成的,这些合作伙伴有夏洛特、黛博拉和格瑞斯,以及我们可爱的孩子们尹定格(Indigo)西蒙妮、安德烈和菲力克斯。



ODJ,欧文·琼斯

RJM,罗伯特·梅拉德特

APR,安德鲁·鲁宾逊

2008年10月

书  评:
 
其  它:
 



| 我的帐户 | 我的订单 | 购书指南| 关于我们 | 联系我们 | 敬告 | 友情链接 | 广告服务 |

版权所有 © 2000-2002 中国高校教材图书网    京ICP备10054422号-7    京公网安备110108002480号    出版物经营许可证:新出发京批字第版0234号
经营许可证编号:京ICP证130369号    技术支持:云因信息