第 1 章
41 宫
钱们首先讨论如何获取和支装 R 并绘出启动 R 町的使用和-般信息''
的概述 . L6 节我们讨论编写代码的文本编钝稽的使用,并绘出了推荐使
用的一般工作很式 . L7 节的重点是使用糟助文件和新闻组获得栩助 安
装 R 初就人也在 1.8 节叙述,历史网颐和文献介绍放在 L JO 节 . 在 1.11
节,我们握供了些阅读本书的 徽佐维议以及a樊师如何使用本书.在戴
后 节,我们总结了本章介细的 R 函’段 .
I.I 什么是时
这虽然是-个简单的问题,但是并不太容易回答 . 广义地定义, R 是
允许用户籍能算法并使用其它可捕程工具的 种计算机语盲 . 这种含糊
的描述适用于诈多计算机语目,解得 R 能做什么或许更有楚 . 在我们的 R
课程巾,夜们告诉学生,“R 可以做钧、想象的任何事情”这应该波有言过其
实 . 借助 R 你可以编写丽数进行计算应用很多可获得的统计技术,生成
简单或者复杂的朋形甚至编写你自己的库函放 . 许多研究院公司和大
学已经使用 R 。有一个很大的用户割支持 R . 在过去 5 年里.许多包循参考
R 和屈网 R 函数进行计算的附书相继出版嚣耍的点是 R 是免费使用的
"么为什么不是每个人俯在使用它’这是 个容易回答的问题 • R
有 个陡峭的学习幽线’它的使用需要销程并且尽管各种图形用户界面
存在俩是没有-个全面到足以完全避免编程.然而一旦你掌组了民的基
本步镰你将不再喜欢使用英官相似的软件包 .
’"拿 Wt"
,
R 中的编程与交互方法类似 . 因此, -旦你学会了使用 , 例如,线性回
归.那么只得要修改-些造项或者在公式里做 些简单的改功就可以便代
, 码后用于广义线性筷裂或者广义加法损型 . 另外 R 具有卓越的统计工
具几孚你衙蟹的每一个统计术语都已在 R 中编寝并且可以使用〈作为主
包的一部分或者用户钢献包人
现在有许多讨论 R 与统计结合的书《 0.1,.. 时, 2002,c... 1,,,2002 .
20051Venablu 和 Rip!,, 2002 ,其它的见 LIO 节 R 图书的全部清单〉 . 本
书不讨论 R 与统计的结合 . 间时学习 R 与统计慧味着双翼学习幽线 . 蕃
于我们的经理盘 。这不是很多人能做到的移情 . 在那些残们一起讲援 民 与筑
材的场合,钱们发现多数学生在他们的项目中 , 相比统计角度更关心 R 代
码是否成功运行 . 因此事书徒供 R 的基本用法而不渺及统计问窟 . 然而,
如果你希望同时学习 R 和统计本书提供的 R 基础知识将有助于掌握程 II'
中可以利用的统计工具 .
I. 2 下载和安装 R
@ …飞:::o:hHo
' ' 7筑和窑,< R
亮的圆形作为欣赏,但是重要的部分是芋’应下的 C RAN 连钱这个冲稳的 p '
符号在示企丽的 R 文销网络,它允许你选得一个能下级 R 的计算饥网络 .
这个姑点有许多其它相关的材料但是此时拽们只讨论如何得到 R 的安
装文件并把它保存到你的计算机上 .
'
如果你点击 CRAN 罐罐,你将精到全球的网络服务器列表 . 离残们居
近的服务舞足英稿兰的布里斯托尔 . 选,李布卑斯托尔服务槛〈或其它任何
一个〉会出现图 1.2 所示的同页 . 点击 Linux.MacOS X 或者 Windows 键
候出现窗口〈罔 J.J) 允许现们遮得应属忡酬〉萦装文件或者共享"""凹的
包 . 我们将在后面讨论包.现在,点击 b酣标,在的键撞
@
黠t
提罩..
量』
{………..., __ ,,_,,,_
一』一…一一
d 民
是
崎』翩翩……-一….
}}…一-…--
{··』』··』一---』
-·“
一….”一
善罢军芸芸奈~ι
阳.., R 本地舰务榻的页面.点禽 Linux MaoJS X 或者 Wind cw, 的幢
宿在则送入圈 u 的窗口
点击 b届e 出现窗口〈阁 1.4 ).从这里我们可以下就 R. 逃得安装槌序
民 2.7.1 win3?.en并且下载到你的咆踏 上.请注怠该文件的 大小是
25 ~30Mb ,你也通过-根电话线下貌也没付么问题• R 的新版本将有不
同的名称并且可能会大-赞.
’再 1 拿到 .
~否仨画画
飞"'』
~ ~---:.:二立:_,___峙’
棒了一一一』一
士士 =~.::-.:-~-::!=--==-=:..
苦……一一皿
量是
阻 I ' 该网页允许边,掌下 ..底层’配费例"包
'"一… - -,1叮』一丁
..,..』-凰”…-·”吨,......._•• _.~巳品=''
@ …-乙二二,::.:::::
嚣旨主·=-一………
重豆 豆王三三二』…』
=·……主主廷在~.,.-=.‘
-
:::::::.:i=•..:.:-..:.ι 白白回国国问』
阳.一 A一…….幅町畸』『』
一
困 1 ‘ 你可以在该窗口下’民安襄文件 Ill 1 I 叫,>Jl en 句’
位 a 这是画画写本书时的晨’版本你有可能会看到更筋
的簸本
u 巍初年’民
为了安装 R. 点击下载的 R·Z 7 1 win32 en 文件. 级简单的方法是
接受所有的默认设置 . 请注意 , 依赖于电麟设置 , 会存在 些问题。比如系
统管理员极限、防火渝、 VISTA 安全设置等等 . 这些是具体电脑或者网缩
伺匾。这里不造一步讨论 . 当成功施安装了 R , 你将有 -个蓝色的桌面
因标 .
如果要升级已安装的 R 程序 , 精要重复上述下载过但 - 在你的电脑上
同时存在多个 R 的版本是没有问题的 e 官们将位于相同的 R 目录,但是在
不同的子目录内.并且不会相互影响.如果你想从 R 的旧版本选行升级,
CHANGF.S 文件是值得 阅 躁的 .《 在 CHANG因文件里的些 Iii 息可能看
上去有些吓人,初学者无须过多关注》
I. 3 最初印草
理在我们时论钉开-个 R 程序并且执行一些简单的任务, R 的启动
依赖于它是如何安装的 . 如果你从阿蝙 w ww.r--p r叫ec1.org 上下载并且安
接在一台独立的电脑上, 可以通过双击桌面快捷方式的阳标或者通过开
始,〉疆’J R (Start > P附gram - > 斟 道行启动 . 在有顶司在版本的网络计
算机上,你可以咨询系统管理员导伐 R 的快键方式.
联序的启动窗口如院 1.5 所示这是-切程序的出发点 .
"'响鹏蜘…--蜘····-驷B崎
一 ·· .
”~………
··』…-一一一
--…… M‘-…一
·一…..『一
吹L悍呻恤.”搁...“-"…
叫…--叫…一….. 叩
m
明
”
归
w
W
M阳
m> s R 的启动胃口.也称为撞制 旬,a费命令窗 口
从图 1.5 可以立即垃拿到以下儿点 (!)钱们使用的 R 版本是 2.7.11
P. 6
第 1 ”’l 宫
m 这里没有华丽的倒形用户界面( GUDdJ )它是自囱软件,不僧任何组
保〈的这里有-个帮助黎单"日符号.,.和先标. 对于第 点来说,只要
版本不是太陈旧..么厚行的是哪个版本都是没有关系的 . 无论自囱软件
或是商业软件.并不是每一个欲件包都有组保后文将讨论缺省侧形用户
界丽的结果和1使用码’助孩盖在. 移动光标到报后 点,在符号叫阳光标显示
的地方)后输入 2+2 ,
, 2 .’ 2
并单齿回车键命令垦的空格是被忽略的你也可以输入,., , 或者
2+2 . 我们用简单的 R 命令是为了强调你必须在命令窗口中输入 些
命令才能在 R 巾"到输出结果 . 2+ 2 将得到
( 1 ] 4
在下一章中讨论[口的含义但是很明显 R 可以计算 2 与 2 的刷 . 这
个简单的例子显示了 R 是如何工作的 E 输入一些 命令,单击回车键, R 将运
行你的命令 . 技巧是输入正确的 命令 . 错误很容易 产生 . 例如,假设你想
计算以 JO 为底的 2 的对数 . 你可能输入
> log (2!
并且得到
(l ] 0 6931472
但是 0.693 不是正确答集 . 这是自然对敏 . 你应该用
> log10(2}
它将绘 出一个正确 的答案
(l ] 030103
尽管 loq 和 1呵JO 的命令能够并且应该记住,但是后面我们纷出一个
不可能记住代码的例子 . 输入铺设也可能出现问题输入 2+2w 会给出
如下俏息
'"。z
syntax err。< i " ” 2+2w n
民 当然不知道 ” 键鞠 2 键紧邻(至少英文键金如此〉 , 我们意外地 同 时
击中了两个键
馆入代码的过程完全不同于使用图形用户界面,在图形用户界面里只
需要从下拉菜单里选得变量单击或双击-个选项并/或者援下 “运行”或
1 ‘
Jlit .+.代码
“完成”按钮 . 输入代码的优点是宫会使你’~J!! 输入什么含义是“么,并
且代码有更强的灵活性 . 主要的缺点是你需要知遇输入什么
R 有出色的图形工具但同样你不能从方便的菜单里逃得造项而帘
要输入准确的代码或者从以前的项目复制代码 . 例细,如果您发现如何改
变刻度线方向 , 可能需要搜贺信网络街阅级或者寻拢在线子册.
1.4 脚本代码
1.4.1 ..覆的艺术
在本阶段.是否了’停下面的代码并不重要.建议读者不必尝试输入代
码 . 我们把它放在这塑只是想说明只要有 些努力,你就能用 R 生成非
常漂亮的圆形 .
>sett旷d t”C:/RBacik / ”J
>ISI1飞- read ta':ole ("ISIT t x t ”,header• TRUEJ
>libcacy {lattice)
>•yplo<(Som• >~S.o>ploDop(•{Il}, y[IJ],col-1)}!
{
从第三衍〈从 .,.10< 开始〉到A段后 , 所有的代码组成一 个单烛的命令.
因此我们只使用了 个“俨符号 . 在本节的后面,我们将槌商该脚本代码
的可泣佐. 生成的罔彤在回 1.6 中给出它纷出了 19 个姑点中深海湾'""
先生物与深度的密度削 . 该数据是盒拿到比况号保险’睡在 2001 与 2C02 年的
系列的四次巡航时于爱尔 兰西部 的大西样东北温静地区收集的
(Gilli brand 等 , 2<>0的 生成圆形花费了相当大的精力 , 但回报是 . 这个单
个图形纷出了所有的情息,并稽助确定应采用哪种统计为法进行下步
的依据分析《 z ,町等 20C9) .
1.42 暴入剧本代码
除非你对计算代码有特殊的记忆能力否则’院块的 R 代码例如用来
生成因 1.6 的那些代码, IL乎是不可能记住的 因此报重要的是把代码写
B
t.11:
fl 宫
得尽可能简单秘 ’院化并且细心地录入 . 仔细抱录入代码可以使你在短
短的儿分钟内对别的敛据集重新生成图形〈或者别的分析L 然而如果没有
足暴你可能会脱离你自己的代码并且需要对-个完馨的项目重新编程 .
作为一个例子.残们重新生成上节使用的代码 , 但是现在加一些校将 在
符号”饼”后的文本彼 R 忽略 . 尽管线们还没有 H论 R 语法,但是代码开始
给我们一些植觉 . 我们再次建议本阶段你不必尝试输入代码 .
...
回 1.6
l9 个蛤点啡’探梅" IUt 光~-与’眼皮〈尊位 1 米儿 ’段’脆来自
“咱町等人"00们的着~ - 允许 r 输与 y 铀的坐标琅不同的施
圈是栩对容品的’民橱囱英国阿伯了大学海弹实肆宣 MMoy
Pried • ~峰供
>setwd ( ” C /RBook / ” j
>ISI空飞- read table (” ISIT txt” , headet,.,TRUE )
#Start the actu<1l plotting
#Plo< Sc"rm . , •
’P'nel fer eech o