R软件在概率论与数理统计中的应用解读.docVIP

  • 19
  • 0
  • 约2.26万字
  • 约 33页
  • 2020-11-03 发布于广东
  • 举报

R软件在概率论与数理统计中的应用解读.doc

第十章 R 软件在概率论与数理统计中的应用 概率论与数理统计是一门应用性很强的数学学科 . 在实际应用中,经常会遇到比较繁琐的计算,在这种情况下,可以借助计算机编程计算 . R是由奥克兰大学 Ross Ihaka 和 Robert Gentleman 建立的统计分析软件,是 ATT贝尔实验室创建的 S 语言的民用版本, S-Plus 是 Insightful 公司的商业化软件 . 而 R是免费的,且源代码完全开放, 其源代码主要用 C 语言编写,也有一些程序用 Fortran 编写,熟悉 C语言的读者很容易掌握 R. 本章将结合概率统计教学,具体介绍 R 软件的使用方法 . § R 软件概述 R 软件的下载与安装 R软件是完全免费的,在上可以下载到 R软件的 Windows版本,当前的版本是 R-2.8.1 版( 2008 年 12 月 22 日发布),大约 31MB. R软件的安装非常容易,运行刚才下载的程序,按照 Windows的提示安装即可. 当开始安装后,选择安装提示的语言,接受安装协议,选择安装目录,并选 择安装组件 . 在安装组件中,最好将 PDFReference Manual 项也选上 ,这样在R软件的帮助文件中有较为详细的 PDF格式的软件说明 . 安装完成后,程序会创建 R程序组并在桌面上创建 R主程序的快捷方式 . 通过快捷方式运行 R软件,便可调出 R软件的主窗口,如图 10-1 所示. 图 10-1 R软件的界面与 Windows的其他编程软件类似, 由一些菜单和快捷按钮组成 . 快捷按钮下面的窗口便是命令输入窗口,它也是运算结果的输出窗口 . 主窗口上方的一些文字是运行 R 软件时出现的一些说明和指引 . 文字下的“ ”符号便是 R 软件的命令提示符,在其后可以输入命令 . R 软件一般采用交互式工作方式, 在命令提示符后输入命令, 回车后便会输出计算结果 . 当然也可将所有的命令建立成一个文件,运行这个文件的全部或部分来执行相应的命令, 从而得到相应的结果 . 对于一些陌生的命令, 可以通过单击主窗口中的 【帮助】菜单查找其具体的命令格式及含义 . 在命令的后面加一个 “ #”号,那么“#”号后面的内容为注释 . 向量 R中最简单运算是向量的赋值,最常用的方法是使用函数 c() ,它把若干个数值或字符串组合为一个向量,比如: x1 - c(1, 2) x1 [1] 1 2 x2 - c(3, 4) x2 [1] 3 4 x - c(x1, x2) x [1] 1 2 3 4 可以对向量进行加(+) 、减(-)、乘( * )、除( / )和乘方( ^)运算,表示对向量的每一个元素进行相应的运算 . 例如: x - c(1, 4, y - x*2+1 y [1] 也可以用向量作为函数自变量, sqrt 、log 、exp、sin 、cos、tan 等函数都 可以用向量作自变量,结果是对向量的每一个元素取相应的函数值,如: sqrt(x) [1] 函数 min 和 max分别取向量的最小值和最大值, 函数 sum计算自变量向量的 元素和, 函数 range 返回包含两个值的向量, 第一个值是最小值, 第二个值是最大值. 例如: max(x) [1] sort(x) 返回 x 的元素从小到大排序的结果向量 . order(x) 返回使得 x 从小 到大排列的元素下标向量 . 例如: a-c(1, , sort(a) [1] order(a) [1] 3 1 2 在 R中很容易产生一个等差数列 . 例如,1:n 产生从 1 到 n 的整数列, -2:3 产生从 -2 到 3 的整数列, 5:2 产生反向的数列: 1:5 [1] 1 2 3 4 5 -2:3 [1] -2 -1 0 1 2 3 5:2 [1] 5 4 3 2 要注意 1:n-1 不是代表 1 到 n-1 而是向量 1:n 减去 1,这是一个常犯的错误: n-5 1:n-1 [1] 0 1 2 3 4 1:(n-1) [1] 1 2 3 4 seq 函数是更一般的等差数列函数 . 如果只指定一个自变量 n0, 则 seq(n) 相当于 1:n. 指定两个自变量时,第一自变量是开始值,第二自变量是结束值, 如 seq(-2,3) 是从-2 到 3. R 函数调用的一个很好的特点是它可以使用不同个数的自变量, 自变量可以用“自变量名=自变量值” 的形式指定 . 例如,seq(-2,3) 可以写成 seq(from=-2, to=3). 可以用一个 by 参数指定等差数列的增加值,例如: seq(0, 2, [1] 也可以写成 seq(from=0, to=2, by=.

文档评论(0)

1亿VIP精品文档

相关文档