前 言
R语言初学指南
R是一个用于科学绘图和计算的计算机软件。它由统计学家和科学家编写并维护,以便科学家们在工作中使用。它易于使用,且有强大的功能。R正在科学和技术领域迅速传播,并为展示科学出版物中的图形数据建立标准。
R是免费的开源软件,可在大多数计算机(俗称电脑)上安装。它支持Windows、Mac和Unix/Linux操作系统。人们可从R语言网站(http://www.r-project.org/)方便地下载并安装R软件。
本书是为高中生、大学生,以及其他想要学习怎样使用R的人编写的。借助本书,读者可以充分利用计算机来解决应用数学的相关问题,特别是在涉及大量分析、建模、模拟、统计及绘图的学科中,如物理学、生命科学、化学、地球科学、经济学、工程学、商学等。这些定量研究可以用R非常直观、明了地展现出来。同样,复杂的数学和统计学概念若用R来说明,也会变得非常清晰。
本书将从基础讲起,不要求读者具有计算机编程背景。读者只需具备一定的高中代数知识就能够理解书中用到的数学知识。
R让具有图形界面的计算器看上去既难以操作又显得过时。图形计算器操作复杂,难以掌握,并且只能解决很少的问题;同时,它显示的图形较小,分辨率低。相比之下,用R来计算既直观又有趣。R可以帮助用户轻而易举地得到符合出版物质量要求的数据图形或(和)公式。用R来代替图形计算器,将使那些正在高中和大学学习科学与数学课程的学生从中受益。
本书将要介绍的R知识,足以帮助读者在分析自然与社会科学的定量问题时,提出高级的解决方案。但是,由于R是一个庞大的软件,本书并不是一本面面俱到的R指南。某些入门手册过于复杂,让人误以为学习R是一项“艰巨的任务”。用户若想从零开始成为一名专业的R使用者,首先应当找到切入点。
本书将帮助读者从零基础开始学习R的使用。本书认为,读者首先应当扎实掌握R的基本技巧。这套技巧可以用来解决高中和大学科学学科中的大多数定量研究的问题,同时它也是探索更深奥的问题的基础。独立发现R中蕴藏的巨大资源,也是使用R的乐趣和回报的一部分。
根据作者的经验,对于那些学习R有困难的学生,实际的难点往往在于建模分析过程中所包含的各种数学概念。本书仅仅要求读者具有一定的高中代数知识。部分章节会探索在科学研究中非常有用的一些代数概念,例如二次函数、线性方程组、三角函数及指数函数。每章都会提供一份代数概念的复习指导,以及一份在R中进行计算和绘图的操作指南。各章都会描述一些来自原创科学出版物的实际案例,然后介绍如何用R来得出这些科学结论。R为高中生和大学生的研究带来了最现代、最前沿的定量分析方法。
R是统计学分析软件中当之无愧的佼佼者。但是,R并不仅限于统计学。它内置了许多高级的数学工具、绘图工具以及模拟工具,是一个可以解决各种科学计算问题的综合性软件包。尽管本书涉及了一些基础的统计学方法,但关注点还是R在各个领域更广泛的使用,即将R作为一个全面的科学计算和绘图工具。
导致人们认为R非常难学的另一个原因在于:现有关于R的书籍和网站还涉及统计学和数据分析。然而,使用本书并不需要统计学基础,并且书中会尽量避免使用R中内置的统计学程序。统计推断的概念很有挑战性。本书会介绍一些概率的计算与模拟、统计学概论与数据图以及曲线拟合问题,但不会去研究统计推断的概念。事实上,那些已经掌握了本书关于R知识的学生,在初次接触统计推断时就会对统计推断有更深刻的认识。
本书不要求读者预先掌握统计学和微积分。很少有学生会在大学之前学过微积分,而在大学二三年级之前学过统计学的学生则更少。因此,本书将重点介绍R在科学和数学中关于微积分、统计学的先修课程上的使用。在科学、数学以及其他定量分析课程中,所有要使用计算器的地方,R都可以更好地替代它们。此外,通过使用R,学生还可以处理更为复杂的科学问题。
使用R的学生将在科学课程上获益良多。R让科学计算和绘图变得既有趣又简单易行。学生在使用R时,可专注于科学和数学上的概念,而不用去钻研计算器手册上那些令人望而却步的按键说明。人们没有办法精通并牢记计算器的使用说明,而且这些说明还会随着新计算器的推出而不断变化。相比之下,R的使用技巧是在不断使用中获得和提高的,这些技巧同样适用于更高级的课程。学生们可以像世界上各个实验室的科学家们一样分析数据和发现规律。
R鼓励团队合作。就像科学家分享他们的应用程序一样,学生可以小组的形式来开展R项目、构建R脚本、改进每个人的工作,并收集、累积、清晰地展示经典的图形分析。在小组讨论时,计算机屏幕上显示的结果比计算器上显示的结果更容易阅读,而且在合作中对R脚本的保存和修改也比操作计算器的按键要简单许多。在这里,学生也可相互发送最新的R脚本来进行在线合作。每个新的班级都可以看到之前班级的工作,并可在此基础上继续改进以取得新的成果。R自身也在改进中不断发展。
在大学和学院中,R的使用急速增长,而且一些具有远见的技术公司最近也开始使用R(参见“Data Analysts Captivated by R’s Power,”by Ashlee Vance, The New York Times, January 6, 2009)。通过简单的在线搜索就可以揭示出R对顶级大学课程的影响力。对学生们来说,不仅R的技术可以伴随他们的整个学习过程,而且R的知识也是具有实际价值的专业科学凭证。
网络上有大量使用R的在线资源。科学家和教授们会随时分享他们在科学研究中所积累的R知识。科学家和课程的主页上到处都有免费的网络课程、入门读物以及参考书。除此之外,读者还可以在关于R的论坛里获得对问题的解答、分享R的脚本、再现最新科技论文中的计算和图表。但这些资源往往只针对高级且专业的大学课程。对于初学者来说,这些高深浩繁的材料让人不知道从哪里开始学起。大多数R的使用者为了找到自己想要的知识,不得不先处理和过滤一堆杂乱无章的入门材料。
本书在设计时充分考虑了初学者的需求。通过本书,读者可以掌握一系列R技术,并可使用这些技术来完成基础科学和应用数学课程上的大多数计算和绘图项目。这些技术都可以在本书中找到,也很容易理解。在学完本书后,读者会对学习更加高级的技术充满信心。
目 录
第1章 介绍:开始使用R
1.1 R教程
1.2 向量
1.3 图形
1.4 实际案例
1.5 本章小结
1.6 计算任务
1.7 参考文献
第2章 R脚本
2.1 创建与保存R脚本
2.2 运行R脚本
2.3 找到R脚本中的错误
2.4 利用注释使脚本明了
2.5 实际案例
2.6 本章小结
2.7 计算任务
2.8 参考文献
第3章 函数
第4章 基本绘图
第5章 数据输入与输出
第6章 循环
第7章 逻辑与控制
第8章 二次函数
第9章 三角函数
第10章 指数函数与对数函数
第11章 矩阵运算
第12章 线性方程组
第13章 高级绘图
第14章 概率与模拟
第15章 拟合数据模型
第16章 结论——你不需要成为一名火箭学家
附录A 安装R
附录B 获得帮助
附录C R的常用命令和选项
译后记