正在加载
请稍等

菜单

Home 码农菜园 数据分析 R学习笔记-1 R语言介绍
Home 码农菜园 数据分析 R学习笔记-1 R语言介绍

R学习笔记-1 R语言介绍

数据分析 by   阅读量 7,223

一个典型的数据分析过程如下,是一个需要不断迭代和修正的过程。

数据分析流程

1.1 为何要使用R?

R有着非常多值得推荐的特性:

  1. 多数商业统计软件价格不菲,投入成千上万美元都是可能的。而R是免费的!如果你是一位教师或一名学生,好处显而易见;
  2. R是一个全面的统计研究平台,提供了各式各样的数据分析技术;
  3. R拥有顶尖水准的制图功能;
  4. R是一个可进行交互式数据分析和探索的强大平台,其核心设计理念就是支持上图中所概述的分析方法;
  5. R可以轻松地从各种类型的数据源导入数据,包括文本文件、数据库管理系统、统计软件,乃至专门的数据仓库;
  6. R可运行于多种平台之上,包括Windows、UNIX和Mac OS X。

总的来说,R能够让你以一种简单而直接的方式创建优雅、信息丰富、高度定制化的图形。而使用其他统计语言创建类似的图形不仅费时费力,而且可能根本无法做到。

1.2 R的获取和安装

R可以在CRAN上下载并安装,提供了Windows、UNIX和Mac OX等各大平台的安装版本。之后还将介绍如何安装增强R功能的可选模块——包(package)。

1.3 R的使用

R是一种区分大小写的解释型语言,你可以在命令提示符(>)后每次输入并执行一条命令,或者一次性运行在脚本中写好的多条命令。

R的多数功能由程序内置函数和用户自编函数提供(如果你用过python、matlab之类,这里应该很好理解)。一些函数是默认可用的,其他高级函数需要按需加载相应的模块。

R使用<-赋值,而不是传统的=,例如:

创建了一个名为x的向量对象,包含5个来自标准正态分布的随机偏差。

在R中,注释由符号#开头。

一个简单的例子

可以使用函数c()以向量的形式赋值,并使用内置的统计函数计算统计值,然后用图形展示,最后使用q()退出R。来一个计算婴儿月龄和体重数据的例子吧!

再附上几个R绘图demo命令:demo(graphics)、demo(Hershey)、demo(persp)、demo(image)。查看完整的演示列表,直接运行demo()。

获取帮助

当你需要帮助时,不妨使用以下命令:

  1. help.start():打开帮助文档首页;
  2. help(“foo”)或?foo:查看函数foo的帮助(引号可以省略);
  3. help.search(“foo”)或??foo:以foo为关键词搜索本地帮助文档;
  4. example(“foo”):函数foo的使用示例(引号可以省略);
  5. RSiteSearch(“foo”):以foo为关键词搜索在线文档和邮件列表存档;
  6. apropos(“foo”, mode=”function”):列出名称中含有foo的所有可用函数;
  7. data():列出当前已加载包中所含的所有可用示例数据集;
  8. vignette():列出当前已安装包中所有可用的vignette文档;
  9. vignette(“foo”):为主题foo显示指定的vignette文档。

工作空间

工作空间就是当前R的工作环境,它储存着所有用户定义的对象(向量、矩阵、函数、数据框、列表),你可以保存和载入工作空间。交互过程的历史命令也保存于工作空间中,可以使用上下方向键查看,用return来重复执行上条命令。

一些和工作空间相关的函数:

  1. getwd():显示当前的工作目录;
  2. setwd(“mydirectory”):修改当前的工作目录为mydirectory;
  3. ls():列出当前工作空间中的对象;
  4. rm(objectlist):移除(删除)一个或多个对象;
  5. help(options):显示可用选项的说明;
  6. options():显示或设置当前选项;
  7. history(#):显示最近使用过的#个命令(默认值为25);
  8. savehistory(“myfile”):保存命令历史到文件myfile中(默认值为.Rhistory);
  9. loadhistory(“myfile”):载入一个命令历史文件(默认值为.Rhistory);
  10. save.image(“myfile”):保存工作空间到文件myfile中(默认值为.RData);
  11. save(objectlist, file=”myfile”):保存指定对象到一个文件中;
  12. load(“myfile”):读取一个工作空间到当前会话中(默认值为.RData);
  13. q():退出R,将会询问你是否保存工作空间。

输入和输出

如果需要运行一个R脚本中的多行命令该如何操作?R使用source(“filename”)载入脚本,使用sink(“filename”)将结果输出到文档中。其中后者可以加参数,append=TRUE表明将输出文本追加到文件后而不是覆盖,split=TRUE可将输出同时发送到屏幕和输出文本中,不加参数调用sink()将仅向屏幕返回输出结果。

图形输出的话,可使用以下函数输出成相应文件:pdf(“filename.pdf”)、win.metafile(“filename.wmf”)、png(“filename.png”)、jpeg(“filename.jpg”)、bmp(“filename.bmp”)、postscript(“filename.ps”),最后使用dev.off()将输出返回至终端。

总而言之,屏幕是默认的文本和图像输出端,但是也可以指定输出至文件。

1.4 包

包是R的可选扩展功能模块,官方提供的2500多个包横跨各种领域、功能惊人,包括分析地理数据、处理蛋白质质谱,甚至是心理测验分析的功能。

.libPath()函数可以查看R中已安装的包集合(称为库)的路径,函数library()可以显示库中有哪些包,函数search()可以得到哪些包已经被加载并可以使用。

包的安装

install.packages(),不带参数则返回一个CRAN镜像站点列表,带参数即包名则直接安装。

一个包只需要安装一个,包若有更新,则使用update.packages(“packagename”)进行更新。

使用installed.packages()查看已经安装的包及描述。

包的载入

使用library(packagename)以载入包,一次会话中只需要加载一次。当然也可以自定义启动环境,以自定义默认加载的包。

包的使用

加载了包之后,使用help(package=”packagename”)来查看该包的帮助信息,包括函数名称和数据集列表。

1.5 批处理

如果希望不是交互地运行R,而是周期地重复运行R文件,该如何做呢?

Linux或Mac OS下:

其中infile为包含要执行R代码的文件名,扩展名为.R,outfile为接收输出文件名,扩展名为.Rout,options列出了控制执行细节的选项。

1.6 实战

完成以下操作吧!

  1. 打开帮助文档首页,并查阅其中的“Introduction to R”;
  2. 安装vcd包(一个用于可视化类别数据的包);
  3. 列出此包中可用的函数和数据集;
  4. 载入这个包并阅读数据集Arthritis的描述;
  5. 显示数据集Arthritis的内容(直接输入一个对象的名称将列出它的内容);
  6. 运行数据集Arthritis自带的示例;
  7. 退出。

所需代码:

08 2015-04

发表评论