数据分析方法与R软件4-R的绘图操作_第1页
数据分析方法与R软件4-R的绘图操作_第2页
数据分析方法与R软件4-R的绘图操作_第3页
数据分析方法与R软件4-R的绘图操作_第4页
数据分析方法与R软件4-R的绘图操作_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

首都经济贸易大学

统计学院任韬数据分析方法与R程序R的绘图操作本章主要内容高级绘图语句低级绘图语句交互绘图语句其它绘图语句绘图命令参数ggplot2程序包3R是强大的图形构建平台,例如:4R是强大的图形构建平台,例如:5R是强大的图形构建平台,例如:6R是强大的图形构建平台,例如:7绘图语句的分类绘图语句可以分成了三个基本的类:高级绘图语句在图形设备上产生一个新的图区,它可能包括坐标轴,标签,标题等等低级绘图语句会在一个已经存在的图上加上更多的图形元素,如额外的点,线和标签交互绘图语句允许你交互式地用定点设备(如鼠标)在一个已经存在的图上添加图形信息或者提取图形信息8本章主要内容高级绘图语句低级绘图语句交互绘图语句其它绘图语句绘图命令参数ggplot2程序包9高级绘图语句高级图形显示函数是用来产生输入数据的完整图片图中应具备的坐标轴,标签和标题会自动产生高级图形显示语句会开始一个新的图区,必要时会清空当前的图区10plot()函数在R里面最常用的一个图形函数是plot(),这是一个泛型函数:产生的图形依赖于第一个参数的类型plot(x,y):如果x和y是向量,则plot(x,y)将产生y

对x

的散点图用包含两个分量x和y的列表或是一个双列的矩阵作为一个参数也能得到一样的结果plot(x):如果x

是一个时间序列,将产生一个时间序列图如果x是一个数值向量,将产生一个向量值对该向量索引的图如果x是一个复向量,将会产生一个向量元素虚部对实部的图11plot()函数plot(f):f是一个因子对象,则产生f的直方图plot(f,y):f是一个因子对象,y是一个数值向量则产生y

在f

的各种水平下的盒状图plot(df):df是一个数据框,则产生数据框中变量的分布图plot(~expr):

expr是一个对象名被“+”分割的表列(如,a+b+c),则产生一系列指定对象的分布图plot(y~expr):y是任何对象,expr同上,则得到y相对expr中各个对象画的图12plot()的例子plot(ATO,ROE)plot(ROE)plot(a)plot(~ROE+ATO+PM)plot(ROE~ATO+PM)13plot()的例子plot(ATO,ROE)plot(ROE)plot(a)plot(~ROE+ATO+PM)plot(ROE~ATO+PM)14plot()的例子plot(ATO,ROE)plot(ROE)plot(a)plot(~ROE+ATO+PM)plot(ROE~ATO+PM)15plot()的例子plot(ATO,ROE)plot(ROE)plot(a)plot(~ROE+ATO+PM)plot(ROE~ATO+PM)16plot()的例子plot(ATO,ROE)plot(ROE)plot(a)plot(~ROE+ATO+PM)plot(ROE~ATO+PM)17pairs()函数如果X是一个数值矩阵或者数据框,pairs(X)将产生X的列之间的散点图矩阵18pairs()函数19qqnorm(x),qqline(x),qqplot(x,y)函数qqnorm(x)显示数值向量x相对期望的正态有序分值(Normalorderscores)的比较图(正态分值图)qqline(x)是在上述图上加一条理论上的分位对分位的直线qqplot(x,y)产生x的分位对y的分位的图以比较二者的分布是否一致20qqnorm(x),qqline(x),qqplot(x,y)函数qqnorm(x)qqline(x)qqplot(x,y)21qqnorm(x),qqline(x),qqplot(x,y)函数qqnorm(x)qqline(x)qqplot(x,y)22qqnorm(x),qqline(x),qqplot(x,y)函数qqnorm(x)qqline(x)qqplot(x,y)23hist()函数hist(x)、hist(x,nclass=n)、hist(x,breaks=b,...)产生数值向量x的直方图程序会自动选择适合的分类数目,但可以通过设定参数nclass=

来改变分类数还有一种方法是,通过参数breaks=

精确设置断点(breakpoint)如果设定参数probability=TRUE,柱高度将表示频率而不是频数。24hist()函数hist(x)hist(x,nclass=6)b=seq(40,90,by=2)

hist(x,breaks=b)b=seq(40,90,by=2)

hist(x,breaks=b,

probability=TRUE)25hist()函数hist(x)hist(x,nclass=6)b=seq(40,90,by=2)

hist(x,breaks=b)b=seq(40,90,by=2)

hist(x,breaks=b,

probability=TRUE)26hist()函数hist(x)hist(x,nclass=6)b=seq(40,90,by=2)

hist(x,breaks=b)b=seq(40,90,by=2)

hist(x,breaks=b,

probability=TRUE)27hist()函数hist(x)hist(x,nclass=6)b=seq(40,90,by=2)

hist(x,breaks=b)b=seq(40,90,by=2)

hist(x,breaks=b,

probability=TRUE)28本章主要内容高级绘图语句低级绘图语句交互绘图语句其它绘图语句绘图命令参数ggplot2程序包29低级绘图语句有些时候,高级绘图函数不能准确产生你想要的图此时,低级绘图语句可以在当前图上精确增加一些额外信息(如点,线或者文字)注意,低级绘图语句无法单独使用,必须从属于某一个高级绘图语句换句话说,只有当我们使用高级绘图语句创建了一个图形后,才能使用低级绘图语句在该图形上添加内容30points(x,y)函数在当前图上增加(若干)点,点的横、纵坐标分别由向量x和y给出,例如:31points(x,y)函数在当前图上增加(若干)点,点的横、纵坐标分别由向量x和y给出,例如:32lines(x,y)函数将点(坐标由向量x和y给出)按顺序连成线,例如:33lines(x,y)函数将点(坐标由向量x和y给出)按顺序连成线,例如:34text(x,y,labels,...)函数在图上指定的位置(坐标由向量x和y给出)添加由labels给定的文字。例如:35text(x,y,labels,...)函数在图上指定的位置(坐标由向量x和y给出)添加由labels给定的文字。例如:36abline()函数abline(a,b):在当前图上添加斜率为b

截距为a

的直线abline(h=y):在纵轴的y位置添加水平线abline(v=x):在横轴的x位置条件垂直线abline(lm(x~y)):绘制obj所示的一元线性回归直线37abline()函数abline(25,0.3)abline(h=36)abline(v=50)abline(lm(y~x))

38abline()函数abline(25,0.3)abline(h=36)abline(v=50)abline(lm(y~x))

39abline()函数abline(25,0.3)abline(h=36)abline(v=50)abline(lm(y~x))

40abline()函数abline(25,0.3)abline(h=36)abline(v=50)abline(lm(y~x))

41polygon(x,y,...)函数绘制由向量x和y定义的顶点所围成的多边形42其它低级绘图语句legend(x,y,legend,...)在当前图的特定位置增加图例(legend)。标识字符,线条格式,颜色等都是被字符向量legend

中的具体参数所注释必须给定一个含有画图单位对应值的参数v(一个和legend

长度一致的向量):legend(,fill=v):填充盒子的颜色legend(,col=v):点或者线条的颜色legend(,lty=v):线条样式legend(,lwd=v):线条宽度legend(,pch=v):标识字符(字符向量)43其它低级绘图语句title(main,sub)将main

定义的标题以大字体的形式放在当前图的顶部,同时可以将sub

定义的小标题以小字体的形式放在下部(可选)axis(side,...)在第一个参数(1到4,从底部顺时钟方式数)定义的某一侧增加一个坐标轴。另一个参数控制坐标轴相对图区的位置,刻度位置和标签位置。这对调用参数设置为axes=FALSE的plot()函数后增加定制的坐标轴非常有用44一个复杂图形的例子45一个复杂图形的例子46本章主要内容高级绘图语句低级绘图语句交互绘图语句其它绘图语句绘图命令参数ggplot2程序包47交互绘图语句无论是高级绘图语句还是低级绘图语句都是静态的,即图形生成以后除了添加新的元素无法做其他改变交互绘图语句允许用户在已经生成的图形上进行操作,从而使图形具有动态调整的能力48locator(n,type)函数locator()函数的功能是返回用户鼠标左键在当前图上点击的位置的坐标参数n

(默认值为512)表示最大的点击次数函数运行结束的条件是点击次数达到n次或用户点击鼠标右键并选择“停止”参数type

允许在被点击的位置上添加点、星号等;默认值为n,表示不添加任何内容函数返回值是包含名为x和y两个向量的列表,记录了被点击位置的横、纵坐标值49locator(n,type)函数50locator(n,type)函数51locator(n,type)函数52identify(x,y,labels)函数identify()函数允许用户在已经显示在图上的一系列点中,通过鼠标左键点击选择一些点参数labels

定义的标签将别放置在被选中的点旁边(labels为空时,默认为点的索引值)参数x和y给出了所有显示在图中的备选的点的坐标,当用户在图形中点击时,距离点击位置最近的备选点会被选中函数的返回值是被选中点的索引值53identify(x,y,labels)函数有时候我们想标定图上的一些特定点,而不是它们的位置,即我们需要的是这个点的索引值,而不是其坐标例如,我们可能期望用户能在图形显示上选择一些有意思的点,然后将这些点的索引值记录下来此时,identify()函数可以实现这一设想54identify(x,y,labels)函数例如,确定图中的奇异点:55identify(x,y,labels)函数例如,确定图中的奇异点:56identify(x,y,labels)函数例如,确定图中的奇异点:57identify(x,y,labels)函数例如,确定图中的奇异点:58本章主要内容高级绘图语句低级绘图语句交互绘图语句其它绘图语句绘图命令参数ggplot2程序包59使用lowess()函数平滑散点lowess()函数使用非参数回归的方法拟合出散点的平滑曲线,如:60使用lowess()函数平滑散点lowess()函数使用非参数回归的方法拟合出散点的平滑曲线,如:61使用curve()函数绘制方程图形curve()函数可以绘制出给定方程的曲线,其形式为curve(expr,from=NULL,to=NULL,n=101,add=FALSE,...)expr为方程式from和to为横坐标显示范围,默认为NULLn为用于绘制曲线所需要计算的点的个数,默认为101add表示是创建新图还是在已有图形中添加曲线,默认是FALSE其他图形参数在这里同样适用62使用curve()函数绘制方程图形例如绘制标准正态分布曲线63使用curve()函数绘制方程图形向已存在的图添加标准正态分布曲线64使用curve()函数绘制方程图形向已存在的图添加标准正态分布曲线65本章主要内容高级绘图语句低级绘图语句交互绘图语句其它绘图语句绘图命令参数ggplot2程序包66关于绘图参数当创建图形时,R的默认设置往往不能符合要求利用图形参数几乎可以定制任何你想显示的方式R拥有一个数目很大的图形参数列表,该列表包括控制线条样式,颜色,图形排列和文字对齐等方面的参数每一个图形参数都有名字(如“col”,设置颜色)和值(如颜色值)图形参数可以用两种方式设定:要么是永久性的,在一次R的会话中一直有效;要么是临时性的,仅仅影响当前图形67永久性地改变:par()函数函数par()用于访问和修改当前图形设备的参数列表直接使用par()函数,将返回所有图形参数的列表和当前设备的设定值par(c(“col”,“lty”)):仅仅返回col和lty两个参数的当前值par(col=4,lty=2):改变col和lty两个参数的当前值68永久性地改变:par()函数69临时性地改变:绘图函数的参数例如:plot(x,y,pch="+")这将产生一个以加号为标符的散点图。这个语句不会影响后面的图形语句的默认图标70高级绘图语句的参数xlab=string、ylab=string:设定x和y轴的标签。可以用这些参数修改默认标签。默认标签常常是用于高级绘图函数中的对象的名字main=string

:图形标题,以大字体置于图形的顶部sub=string

:子标题,以小字体放在x-轴底部axes=FALSE

:禁止产生坐标轴71常用图形参数type=

:控制输出图形(特别是线条)的类型type="p"只显示点(默认)type="l"显示线条type="b"同时显示点和线type="o"将点覆盖在线上type

="h"绘制从点到零轴(x轴)的垂直线type="n"图形不显示,但是坐标轴仍然显示(默认),并且坐标依然以数据设定。这个非常适合随后用低级绘图函数画图。72常用图形参数pch="+":以引号中的字符作为点的标志pch=4:当为pch设定一个0到25之间的整数时,将产生一个特定的符标lty=2:设定线条类型。类型1是实线,类型0是不可见的,类型2和其他是点线和虚线,或者是点划线lwd=2:设定线条宽度col=2:点,线,文本,填充区域和图像的颜色设置font=2:设定字体,1对应于纯文本,2对应粗体,3对应斜体,4对应粗斜体,5对应符号体(包括希腊字母)73多重图形环境R允许你在一个单页上创建一个n×m图形阵列。每一个图有它自己的边缘,图形阵列是被可选的外边缘(outermargin)包围着mfcol=c(3,2):设置多重图形阵列的大小。第一个值是行数;第二个值是列数,使得图片以列的方式放置mfrow=c(2,4):使得图片以行的方式放置74改变坐标轴范围xlim和ylim选项可以改变坐标轴范围,如:75改变坐标轴范围xlim和ylim选项可以改变坐标轴范围,如:76本章主要内容高级绘图语句低级绘图语句交互绘图语句其它绘图语句绘图命令参数ggplot2程序包77什么是ggplot2ggplot2是当前非常流行的R环境下的绘图程序包与R本身的绘图功能相比,

ggplot2具有语法上的统一性,通过图形语法来支持绘图功能ggplot2可以避免诸如添加图例等繁琐的细节与很多统计软件一样,

ggplot2有很多预设图形,同时还可以很方便的将各种图形元素进行组合ggplot2还具有图层的概念78图形语法Wilkinson(2005)创建了一套用来描述所有统计图形深层特性的语法规则,即图形语法根据该语法,一张统计图形就是从数据到几何对象(geometricobject,缩写为geom,包括点、线,条等)的图形属性(aestheticattributes,缩写为aes,包括颜色、形状、大小等)的一个映射,并绘制在某个特定的坐标系(coordinatesystem,缩写为coord)中。图形中还可能包含数据的统计变换(statisticaltransformation,缩写为stats)通过分面(facet)可以生成数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论