书海网短评:
《R语言经典实例》涵盖200多个R语言实用方法,可以帮助读者快速而有效地使用R进行数据分析。本书将帮助你步入R的天堂;对于R的资深用户,本书将加深你对R的理解并拓展你的视野。通过本书,你可以使你的分析工作顺利完成并学习更
《R语言经典实例》涵盖200多个R语言实用方法,可以帮助读者快速而有效地使用R进行数据分析。《R语言经典实例》将帮助你步入R的天堂;对于R的资深用户,《R语言经典实例》将加深你对R的理解并拓展你的视野。通过《R语言经典实例》,你可以使你的分析工作顺利完成并学习更多R语言知识。《R语言经典实例》由蒂特著。
《R语言经典实例》海报:
《R语言经典实例》涵盖200多个R语言实用方法,可以帮助读者快速而有效地使用R进行数据分析。R语言给我们提供了统计分析酣一切工具,但是R本身的结构可能有些难于掌握。《R语言经典实例》提供的这些面向任务、简明的R语言方法包含了从基本的分析任务到输入和输出、常用统计分析、绘图、线性回归等内容,它们可以让你马上应用R高效地工作。
每一个R语言方法都专注于一个特定的问题,随后的讨论则对问题的解决方案给出解释,并阐释该方法的工作机理。对于R的初级用户,《R语言经典实例》将帮助你步入R的天堂;对于R的资深用户,《R语言经典实例》将加深你对R的理解并拓展你的视野。通过《R语言经典实例》,你可以使你的分析工作顺利完成并学习更多R语言知识。
《R语言经典实例》由蒂特著。
PaulTeetor是一位定量分析专家,他曾获统计学硕士和计算机科学硕士。他从事投资管理、风险交易和风险管理等领域的分析与软件工程。
“O’ReillyRadar博客有口皆碑。”
——Wired
“O’Reilly凭借一系列(真希望当初我也想到了)非凡想法建立了数百万美元的业务。”
——Business2.0
“O’ReillyConference是聚集关键思想领袖的绝对典范。”
——CRN
“一本O’Reilly的书就代表一个有用、有前途、需要学习的主题。”
——IrishTimes
“Tim是位特立独行的商人,他不光放眼于长远、广阔的视野并且切实地按照YogiBerra的建议去做了:‘如果你在路上遇到岔路口,走小路(岔路)。’回顾过去Tim似乎每一次都选择了小路,而且有几次都是一闪即逝的机会,尽管大路也不错。”
——LinuxJournal
前言
R软件是进行统计分析、绘图和统计编程的强大工具。现在成千上万的人用它来进行日常的重要统计分析。R软件是一个自由、开源的软件平台,它是许多聪明、勤奋工作的人们集体工作的成果。R软件有超过两千多个软件包插件。R软件是其他所有商业统计软件包的强劲竞争对手。
但是,开始使用R软件可能感到无从下手。对于许多任务,即便是一些基本的任务,R的实现也不是很明显。当了解了R的使用方法后,简单的问题自然能得心应手地解决,但学习“如何”使用R的过程有时会让人感到发狂。
《R语言经典实例》介绍了如何使用R软件的一些方法,其中每一个方法对应解决某个特定的问题。介绍这些方法的途径是这样的:首先给出待解决的问题,然后给出解决方案的简单介绍,之后再给出对解决方案的讨论,深入剖析解决方案,给出该方案的原理。我知道这些方法有效实用,我也知道这些方法可行,因为我本人也使用它们。
这些方法所涉及的范围较为广泛。首先从基本的任务开始介绍,然后介绍数据的输入和输出、基础统计、绘图以及线性回归。与R有关的工作都将或多或少地涉及《R语言经典实例》介绍的方法。
通过《R语言经典实例》的讲解,初学者能快速地了解R并获得提高。如果你对R软件有一定的了解,那么《R语言经典实例》也能帮助你巩固已学的知识,拓宽你的思维(例如,“下一次我应该怎么使用K-S检验”)。
从严格意义上来说,《R语言经典实例》并不是一本关于R软件的教程,但你将会从中学习到许多R软件的应用技巧。《R语言经典实例》也不是一本关于R的参考手册,但它确实包含了许多实用的内容。《R语言经典实例》也不是一本R软件的编程指南,但书中很多方法都可以应用到R的编程脚本中。
最后,《R语言经典实例》不是统计学理论的参考书。《R语言经典实例》假设读者对统计理论和方法有一定的了解,他们需要知道的是如何在R软件中实现。
方法
《R语言经典实例》介绍的大部分方法,都是由一两个R函数命令来解决某一特定问题。需要注意的是,书中不会对某一函数的全部功能进行详细解释,而是仅仅介绍那些为了解决某个问题所需要涉及的函数功能。R软件中几乎所有的函数都远远不止《R语言经典实例》中所介绍的这些功能,其中有的函数具有更强大的功能。因此强烈建议读者阅读这些函数的帮助页面,你可能会从中得到不少收获。
每个方法都为读者提供了解决某个问题的一条途径。当然对于每个问题有可能存在多个正确的解决方案。在这种情况下,我一般会选择最为简单的方法介绍。对于书中给出的任何问题,你自己或许可以找到其他一些解决方案。《R语言经典实例》着重介绍解决问题的方法,类似“菜谱”书,不是R软件的大《R语言经典实例》籍。
尤其是,R软件有大量的可添加包,这几千个R软件包都可以通过网络下载的方式得到。这些包中含有许多替代算法和统计方法。《R语言经典实例》侧重于R基础发布版所带的核心功能,因此你可以从其他的R添加包中找到相关的替代方案(参见方法1.11)。
对术语的说明
每个方法旨在迅速地解决问题,而非长篇大论地进行叙述。因此我可能会采用一些术语来简化相关内容的解释,这些术语有时候可能不精确,但是正确的。比如对于“泛型函数”一词。我把函数print(x)和函数plot(x)称为泛型函数,原因是它们能适当地处理多种输入参数x。计算机学家可能会质疑这一术语,因为严格地说这些都不是简单的“函数”,它们是多态方法并且动态调度。但是,如果我仔细地精确定义所有这样的技术细节,那么关键的解决方案将会埋没于这些细枝末节的技术问题中。所以为了便于阅读,我就将它们称为函数。
另一个例子是统计学中假设检验所用语义的严格性。若使用概率论的严格定义,就会使读者难以清晰理解这些检验的实际应用,所以我以更通俗的语言描述各个统计检验。更多有关假设检验方法的细节请查看第9章的简介。
我的目标是用通俗易懂而非严格的正式语言,让R软件能被更多的读者所理解和接受。因此希望各个领域的专家对于我所给出的某些并不严谨的术语定义予以谅解。
软件及平台说明
虽然R软件时常进行有计划的版本更新,但其语言定义和核心实现是稳定的。《R语言经典实例》所介绍的方法将适用于基础发布版的任何最新版本。
有些方法对于操作平台有特殊的要求,我会在文中对其加以标注,这些方法大多数是一些有关软件本身的问题,如程序的安装和配置。据我所知,书中的其他所有方法都能在R的三个主要平台中得到兼容,即Windows、OSX和Linux/UNIX。
其他资源
网络
R项目网站(http://www.r-project.org)汇集了所有R软件的相关资源。从中可以下载R程序代码、R添加包、文档、源代码以及许多其他资源。
除了R项目网站以外,我建议使用一个针对R软件的搜索引擎,比如SashaGoodman开发的Rseek搜索引擎(http://rseek.org)。也可以使用谷歌这样的通用搜索引擎,但在搜索“R”搜索词时可能会得到许多无关的搜索结果。更多有关网络搜索的细节参见方法1.10。
浏览博客也是学习R软件和掌握相关R最新动态的一种有效方式。网络中存在许多这样的博客,我推荐其中两个:TalGalili的R-bloggers(http://www.r-bloggers.com/)和PlanetR的(http://planetr.stderr.org)。可以通过订阅他们的网站了解许多相关网站上有趣且实用的文章。
R软件参考书籍
市面上有许多学习和应用R软件的书籍。下面列出一些我发现会有帮助的R软件教程。R项目网站收录并编制了大量与R相关的书目(http://www.r-project.org/doc/bib/R-books.html)。我所推荐的书目有:
NetworkTheoryLimited出版的《AnIntroductiontoR》,作者是WilliamVenables等。该书涵盖了许多对初学者很有帮助的知识。可以通过CRAN网站免费下载该书的PDF版本(http://cran.r-project.org/doc/manuals/R-intro.pdf),或者推荐购买纸质书籍,此书所获利润将捐赠给R项目。
O扲eilly公司出版的《RinaNutshell》(http://oreilly.com/catalog/978059680717),该书的作者是JosephAdler,此书可以随时作为你R软件的使用参考,并且它比《R语言经典实例》涵盖了更多的内容。
任何应用R绘制正式图形的工作都可以参考《RGraphics》一书,该书的作者为PaulMurrel(Chapman&Hall/CRC)。根据应用的R图形包的不同,也可以参考《Lattice:MultivaritateDataVisualiationwithR》,作者为DeepayanSarkar,由Springer出版社出版;《ggplot2:ElegantGraphicsforDataAnalysis》,作者为HadleyWickham,由Springer公司出版。
《ModernAppiedStatisticWithS(4thed.)》作者为WilliamVenables等,由Springer公司出版。该书采用S软件来说明一些高级的统计技术。该书所涉及的函数和数据可通过下载R软件标准发布版MASS获得。
市面上定期会有关于R编程的新书出版,但我并不提倡不加区分地选择。关于R软件编程,我推荐《RinaNutshell》和WilliamVenables与BrianRipley等的《SProgramming》(Springer)。我还推荐下载《RLanguageDefinition》一书(http://cran.r-project.org/doc/manuals/R-lang.pdf),通过它可以解决许多R软件编程中遇到的细节问题。
统计学书籍
在你学习的过程中需要一本好的统计学参考书作为指导,它可以帮助你准确地理解在R中进行的统计检验。目前市面上有许多优秀的统计学参考书,因此我所推荐的书很难说这本比那本更优秀。
由JohnVerzani编写的《UsingRforIntroductoryStatistic》(Chapman&Hall/CRC),是一本优秀的统计学教材。它结合统计学与R软件,讲述应用统计方法的一些必要的计算机技巧(http://www.r-project.org/doc/bib/R-books.html)。
越来越多的统计学作者选择R软件来讲述相应的统计方法。某一特定专业领域的工作者可以在R项目网站收录的书目中寻找所需要的书籍。
致谢
我要对整个R社区,尤其是R软件的核心开发团队表示衷心感谢。他们的无私付出对世界统计学的贡献巨大。
我要感谢《R语言经典实例》的技术审校者:JamesD.Long、TimothyMcMurry、DavidReiner、JefferyRyan和JohnVerzani。同时感谢JoeAdler给予《R语言经典实例》的意见。他们做出的反馈对于《R语言经典实例》得以有高质量、严谨并且实用的内容至关重要。他们的意见也帮助我节省了许多时间,避免了我传播错误的内容。
MikeLoukides是一位出色的编辑,我在此深深感谢他的智慧和指导。开始《R语言经典实例》的项目时有人宣称Mike是出版行业里最棒的编辑,现在我完全相信这一事实。
我要对我的妻子Anna表达最大的谢意。她的支持使《R语言经典实例》出版成为可能。她的参与使得编写《R语言经典实例》的过程充满快乐。









