用R编写统计程序之二 函数式程序设计和数据探索.pdfVIP

用R编写统计程序之二 函数式程序设计和数据探索.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用R编写统计程序之二 函数式程序设计和数据探索

使用 R 编写统计程序: 第 2 部分. 函数式程序设计和数据探索 发现并分析异常 级别: 初级 David Mertz (mertz@gnosis.cx), 开发人员, Gnosis Software Brad Huntting (huntting@), 数学家, University of Colorado 2004 年 10 月 18 日 本系列共分三个部分,这是第 2 部分,David 和 Brad 将基于他们的第一期文章继续对 R (R 是一个 作为自由软件发布的功能丰富的统计 环境)进行论述。既然数据是井然有序的,所以我们将深入研究语 言的功能性。 R 既是一门强大的函数式程序设计语言,也是一个用来对数据集进行统计探索的通用环境。作为一个环 境,R 允许您通过一个定制的命令行来创建数据的很多图形化表示。参阅本系列文章的第 1 部分以及 Cameron Laird 的关于 R 的文章 (都在 参考资料 中列出了),以深入了解 R 及其背景,并获得关于 可以运行 R 的平台和很多它可用的程序包的资料。 与 Python、Ruby、用于 Tcl/Tk 的 wish 以及很多 Lisp 环境的交互式 shell 一样,R shell 是用于 探索操作极好途径 —— 命令的重新调用和编辑让您可以尝试命令的多种变体。与很多其他程序设计语言 交互式 shell 相反,除了与 R 的以数据为中心的本质保持一致以外,R shell 可以任意地保存一个完整 的环境(每个工作目录一个)。命令历史是其中的一个实用部分:可以在 .Rhistory 文件中对它进行检查 和修改。不过,保存环境的主要方面是将工作数据以二进制格式保存到 .RData 中。顺便说一句, rm() 命令的灵活运用可以停止无限制地保存数据环境 ( remove() 等同于 rm() )。 本文是关于 R 的文章的第二期。 第 1 部分 介绍了 R 的数据类型的一些基本概念 —— 从向量开始, 还包括多维数组 (2-D 数组也称为“矩阵”)、用于“灵巧”表的数据帧、用于异构集合的列表,等等。前一 期还对合著者 Brad 手边的一个大规模数据集进行了一些基本的统计分析,并绘制了图形,那个数据集 是 Brad 住宅周围一年的温度历史,每三分钟采样一次。与现实世界中的很多数据集类似,我们知道或 者猜想 Brad 的温度数据中存在瑕疵和异常 —— 实际上,第二期的部分内容将尝试去理解数据的可疑 特性。 总体上讲,本文将做两件事情。首先,我们将继续使用第一期文章中引入的数据集来比上一次更深入地研 究 R 语言本身。然后,我们将研究数据中的一般模式,并向您展示如何使用 R 找到它们。 R 作为程序设计语言 (GPLd)R 编程语言继承自两门语言:S/S-PLUS 和 Scheme (Lisp)。在这里值得强调它与 Scheme 的联系,因为 R 的函数式程序设计方面继承自家族的 Scheme 一方。细心的读者可能已经注意到,在 第一期的例子中奇怪地缺少一些内容:流程控制!本文中同样仍然没有这些内容。实际上,R 有非常好 的 if 、 else 、 while 和 for 命令,所有这些命令都与 Python 中同样名称的命令非常类似。(其 他语言对同一命令的拼写稍有不同。)为了适度的冗余,另外还提供了 repeat 、 break next 和 switch 。命令式语言程序员将对不使用流程控制就可以完成的工作而感到惊讶;如果不使用它,很多工 作会更加简单,这将使他们更为惊讶! 声明您要做什么 按其函数式程序设计传统,使用普通声明语句,您就可以在 R 中完成几乎所有的事情。大部分情况下, R 的两个特性使得没有必要再使用命令流程控制。首先,您已经看到,大部分对集合对象的操作会按元 素 (elementwise)起作用。不需要手工地在一个向量的数据中进行循环来对其元素进行某项处理,因 为您可以简单地对向量中的全部元素进行某项处理: 清单 1. R 中按元素操作 a = 1:10 # Range of numbers 1 through 10 b

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档