R菜鸟入门

上传人:豆浆 文档编号:8121661 上传时间:2017-09-01 格式:PDF 页数:49 大小:3.59MB
返回 下载 相关 举报
R菜鸟入门_第1页
第1页 / 共49页
R菜鸟入门_第2页
第2页 / 共49页
R菜鸟入门_第3页
第3页 / 共49页
R菜鸟入门_第4页
第4页 / 共49页
R菜鸟入门_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《R菜鸟入门》由会员分享,可在线阅读,更多相关《R菜鸟入门(49页珍藏版)》请在金锄头文库上搜索。

1、R 菜鸟入门作者:dapeng 原载:晴耕雨讀志第00篇 缘起如果你和当初的 dapeng 一样是个菜鸟,对 R 有浓厚的兴趣,只是苦于入不了门,在门口纠结徘徊不忍离去,那么,这个系列的帖子就是写给你的。以前 dapeng 曾为两个难题烦恼不已,一个是谈恋爱,一个是学习 R 。两件事情的共同特点是:在它们面前 dapeng 一直是个菜鸟,任凭花费多少时间去读入门教材,什么 TheR Book , An Introduction to R ,R for Beginners 等等,这扇门就是推不开。越推不开越想推。这种困境一直持续到 dapeng 修了大学里开设的 Introduction to

2、R 课程之后。这门课程是拜罗伊特大学生态地理模拟研究组的 Bjrn Reineking 教授为全校公开开设的,链接点这里。一个学期下来,受益匪浅。课程结束后, dapeng 特意征求Reineking 教授的同意把讲义分享给在中国的朋友,他欣然应允。于是 dapeng 打算公开之前整理一下,哪知道一整理,一晃两年过去了。这两年间, R 助 dapeng 完成了博士研究期间全部的数据处理,论文中几乎所有的作图都是 R 实现的。可以说,如果没有学习 R 和使用 R 带来的乐趣,那么 dapeng 的博士研究生活必定会枯燥很多。然而,回顾学习 R 的历程,奇怪的是, dapeng 始终没有找到像 R

3、eineking 教授课程那样菜鸟入门级的 R 教材。事实上,关于 R 的教材不是太少,而是太多,而即便是入门级的,那些标有 Introduction 或 Beginners 字样的,对于 dapeng 这种非统计学非计算机专业的,只在大学公选课修过 普通统计学 的人来说,还是门槛太高。如今快要毕业, dapeng 觉得,是时候把 Reineking 教授课程笔记梳理一下了,希望那些和 dapeng 一样的菜鸟们,碰巧读到这些文字后,学习 R 的情形有所不同。那么,让我们开始第一个问题:R 是什么?答案一搜一大堆。菜鸟 dapeng 的解释是,如果你用 Excel 计算过一列数的平均值,或者用

4、 OriginLab 或 SigmaPlot 玩过科技制图,或者用 Matlab 编程建模,那么,R 跟它们一样,是用来进行数据处理、作图、编程的软件。既然一样,别的软件用得好好的,干嘛要换用 R?跟很多理科生一样,dapeng曾用过 Excel(本科论文)和 OriginLab (硕士论文),但博士期间换用了 R。见到好的,只要不违法不缺德,自然要换。思 考 : 你 家 附 近 的 一 家 餐 厅 又 贵 又 脏 又 难 吃 , 但 你 不 知 道 有 别 的 餐 厅 , 没 选 择 的 情况 下 习 惯 了 这 家 。 当 你 得 知 附 近 还 有 一 家 整 洁 便 宜 服 务 好 的

5、 , 你 愿 不 愿 意 换 ?那么, R 好在哪里?这个就见仁见智了。 dapeng 是那种贪图便宜的人,看上 R 是看上了它的 免费 和 随心所欲 。你说盗版的 Excel,OriginLab,Matlab 也免费?咳咳,dapeng 也是混过来的,只是如今年岁越大,胆子越小,违法的事儿还是少干吧,尤其是当了爹之后, dapeng 觉得,不想让孩子做的事儿,当爹的最好就别做。当然,不光免费和灵活,还有 R 功能的强大,R 社区的 友好 等等,网上搜搜看吧。从 dapeng 的角度说,没有 R, dapeng的博士研究可能完全是另外一个模样。 比如 dapeng 得意洋洋地炫耀一下下面这张d

6、apeng 博士论文中的插图,当然在老鸟眼里也就是入门级的,但是菜鸟 dapeng 却为此兴奋不已,因为用别人定义好的函数,一个语句不到一分钟就搞定了,太适合 dapeng 这种懒人。图00.1. dapeng 的博士论文插图。对角线上是 7 个变量的直方图和平滑曲线,对角线以左是这 7 个变量两两之间的散点图和 loess 拟合曲线,对角线以右是两两之间的相关系数(正负用数字的颜色区别,相关程度用字体的大小表示)。思 考 : 上 图 用 E x c e l 或 O r i g i n L a b 或 S i g m a P l o t 该 怎 么 做 ?不光是论文作图,R 还能很容易做出 3

7、D 动画来演示。下面是 dapeng 博士预答辩演示的一个图:图00.2. *R* 做出的 3D 动画。*不光是枯燥的科技作图和演示,R 还可以娱乐。比如可以画一颗立体中国心:图00.3. R做出的中国心。当然可以很容易地把国旗换成别的,比如 mm 的照片,或者图00.4. 晴耕雨讀志在我心。如果你开始对 R 有兴趣的话, R菜鸟入门 将循着 Reineking 教授讲义的思路,加上dapeng 的学习心得,从零开始,大概用十几篇短文的篇幅带你跨上那个门槛,把那扇门推开一条缝 dapeng 希望自己能坚持写完。最后的目标成为 R 高手别做梦了。不过,至少,能作出上面几个图来。我们开始吧。第01

8、篇 超级计算器开胃小菜:男人至少要擅长一项运动,一种乐器,一种编程.和拿手的几个小炒。(语出小鸟学AHK)R 菜鸟入门三大秘诀:第一秘诀: 不要害怕 !学 R 非难事,Anyone can R (谁都可以贰).第二秘诀: 能用就行 !只要能完成工作就行,R 代码写得漂亮与否并不重要。一个问题如果你有两个解决办法,那就选用你曾用过的那个。时间有富余的话再试另一个。第三秘诀: 与人分享 !跟同学或同事分享 R 代码。这就是为啥 dapeng 写这个系列的帖子。初见 R,可以用在线版品尝一下,点这里或这里,用法在这里不做介绍了,因为 dapeng还是建议菜鸟从下载安装开始。点击这里下载 R 程序。R

9、 是跨平台的,一般来说,Linux用户自己善于折腾,不必 dapeng 在这里唧唧歪歪了,因此晴耕雨讀志以 Windows 系统为例作介绍。目前 R 的最新版 2.15.3 安装程序只有 47 M,比起几个G的 Matlab 要苗条多了。下载完毕后安装,一路下 一 步 的傻瓜式安装即可。安装完毕之后就可以用了。不过,初见的 R 在,界面丑陋, dapeng 建议给 R 穿上一件衣服,奔时看上去体面一些。能穿的免费衣服很多,人们各有所爱。dapeng 用过 Tinn-R、 RKward、 Vim+插件之后,最后选定了 Rstudio (点这里下载,免费正版哦)。选用 Rstudio 有诸多好处,

10、最明显的就是把 R 常用的界面整合到了一起。 看吧,华丽丽的就像 Matlab ,默认四个子窗口:左上窗输入代码,左下窗看结果,右上窗显示变量值,右下窗显示作图和帮助:图01.1. Rstudio 工作窗口。图片来自 Rstudio 官网,中文解释是 dapeng 加的。Rstudio 还有很多好处,比如本文就是用 Rstudio 的 markdown 下写成的。下文均以Rstudio 来示范 R 的使用。下载安装 Rstudio ,运行,然后选择菜单 File - New - Rscript ,或按快捷键 ctrl+shift+n,会新建一个 R 文件。好的,现在正式开始 R 之旅。R 最简

11、单的功能,是用作计算器。先在左上窗口输入以下代码,然后按窗口上方的运行(Run)按钮,或按快捷键 ctrl+回车,就会运行光标所在行的整行代码:3 * ( 2 + 2 )# # 1 1 2上面第一行是输入的代码示例,第二行用两个 # 号开头的是 Rstudio 左下窗显示的运行结果。如不另作说明,下文都用这种格式来区分代码和运行结果(谢谢谢易辉的knitr!)。先不用管 # 号后面的 1 是什么。 R 的数学基本运算符有 加 + , 减 - ,乘 * ,除 / ,乘方 ,整除的商 % / % ,整除的余数 % % 。练 习 0 1 . 1 : 计 算 3 6 5 除 以 7 得 到 的 整 除

12、 商 和 余 数 。下面,我们开个平方。输入并运行s q r t ( 9 ) # 开 平 方# # 1 3这里,s q r t 是开平方的函数,被开方的数必须放在圆括号里,这是 R 语法的基本规则之一。# 号后面一直到这一行的末尾是注释,注释部分不会被运行,这样是为了方便理解这句代码的用途。为了节省篇幅,下文尽量在代码中用注释的方式来说明。有人读到这里可能会被吓住了:s q r t ,开玩笑,我怎么记得住啊!注意 R 入门第一秘诀: 不要被 R 吓住! 试试只输入 s ,然后按 tab 键,就会出现贴心的提示,所有以s 打头的函数都列在里边了,用鼠标或箭头键选取就行了。在 s 后面再接着输入

13、q 试试。其实,常用的函数就那么几个,用几次就不需要贴心提示了。而且函数名称都很好记,s q r t 就是 squre root 的缩写,你不是恰好想练英文吗。实在记不住,那就用基本运算符来求乘方好了, 9 0 . 5 即可。将来你甚至可以把 s q r t 改名叫做k a i p i n g f a n g 。条条道路通罗马, R 很灵活的。常用函数都可以顾名思义:四舍五入 r o u n d ( ) , 截取整数 t r u n c ( ) , 开平方s q r t ( ) ,求绝对值 a b s ( ) ,指数函数 e x p ( ) ,自然对数函数 l o g ( ) ,以 10 为底

14、的对数函数 l o g 1 0 ( ) ,三角函数 s i n ( ) c o s ( ) t a n ( ) a s i n ( ) a c o s ( ) a t a n ( ) 。练 习 0 1 . 2 : 大 牛 K n u t h 有 个 趣 闻 : 他 创 建 的 T E X 版 本 号 趋 近 于 圆 周 率 p i , 他 创 建 的 M e t a f o n t 版 本 号 趋 近 于 自 然 对 数 的 底 e 。 p i 和 e 的 值 是 多少 ?R 中 p i 的值已经定义好了,只要输入并运行p i# # 1 3 . 1 4 2怎么只有这几位?精确度不够高啊。要提高

15、精确度,需要o p t i o n s ( d i g i t s = 2 2 ) # 最 大 支 持 2 2 位p i# # 1 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 1 1 5 9 9 8e x p ( 1 ) # 计 算 e# # 1 2 . 7 1 8 2 8 1 8 2 8 4 5 9 0 4 5 0 9 0 7 9 6e e好了,以后可以用e来代表自然对数的底了。查看 e 的值,可以看 Rstudio 的右上窗,也可以在代码窗口输入变量名 e ,然后 ctrl + 回车,e# # 1 2 . 7 1 8 2 8 1 8 2 8 4 5 9 0 4 5

16、0 9 0 7 9 6就会在结果窗口出现 e 的值。e 可以用来做后续计算,比如:r o u n d ( e ) 2# # 1 9注意, R 中大小写字母是有区别的,E 和 e 是不同的两个变量名。这叫做“大小写敏感”。变量名的约定:变量可以是一个或多个字母,如 e , x , m y d a t a ;也可以包括数字,如 a 1 , a 2 ;可以包括句点和下划线,如 t e m p e r a t u r e _ a i r , h u m i d i t y . m a x 。但是,不可以包含空格,如不能是 m y d a t a ;不可以用数字或小数开头,如不能是 2 x ,也不能是. 3 y ;不可以是R的内置变量。这个不必担心,遇见的时候 R 自动发警告。菜鸟只要注意 变量

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号