R软件及编程应用第五讲报告课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《R软件及编程应用第五讲报告课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 编程 应用 第五 报告 课件
- 资源描述:
-
1、 R软件及编程应用软件及编程应用中南财经政法大学信息与安全工程学院刘树栋 第五讲:第五讲:R的图形的图形 一、一、R Graphics概述概述 二、自定义图形二、自定义图形u R中的绘图包:graphics、lattice和ggplot2。graphics 包:包含用于绘制各种图形的函数,利用此包中函数可以定制或修改图形都很简单,也可以实现与屏幕上图形的交互。lattice 包:适用于绘制按一定条件分隔数据的lattice图形。ggplot2包:使用了一套完全不同的方法,可以便捷地画出高质量的图。u 绘图命令的类型:高级绘图命令:在图形设备上产生一个新的图区,它可能包括坐标轴、标签、标题等。低
2、级绘图命令:在一个已经存在的图上加上更多图形元素。交互式绘图命令:允许交互式地用鼠标在一个已经存在的图上添加图形信息或提取图形信息。总体概述总体概述u 高级绘图命令plot(x)以x的元素为纵坐标、以序号为横坐标绘图plot(x,y)x(在x-轴上)与y(在y-轴上)的二元绘图sunflowerplot(x,y)同上,但是以相似坐标的点作为花朵,其花瓣书目为点的个数pie(x)饼图boxplot(x)盒形图(“box-and-whiskers”)stripchart(x)把x的值画在一条线段上,样本量较小时可作为盒形图的替代dotchart(x)如果x是数据框,作Cleveland点图(逐行逐
3、列累加图)pairs(x)如果x是矩阵或是数据框,作x的各列之间的二元图hist(x)x的频率直方图barplot(x)x的值的条形图qqnorm(x)正态分位数分位数图qqplot(x,y)y对x的分位数分位数图contour(x,y,z)等高线图(画曲线时用内插补充空白的值)filled.contour(x,y,z)同上,等高线之间的区域是彩色的,并且绘制彩色对应的值的图例image(x,y,z)同上,但是实际数据大小用不同色彩表示persp(x,y,z)同上,但为透视图stars(x)如果x是矩阵或者数据框,用星形和线段画出 heatmap(x)热度图u 低级绘图命令scatter.sm
4、ooth(x,y,)LOESS(局部加权散点平滑)拟合曲线points(x,y)添加点(可以使用选项type=)lines(x,y)添加线text(x,y,labels,)在(x,y)处添加用labels指定的文字;典型的用法是:plot(x,y,type=”n”);text(x,y,names)mtext(text,side=3,line=0,)在边空添加用text指定的文字,用side指定添加到哪一边(参照 下面的axis();line指定添加的文字距离绘图区域的行数segments(x0,y0,x1,y1)从(x0,y0)各点到(x1,y1)各点画线段arrows(x0,y0,x1,y1
5、,angle=30,code=2)同上但加画箭头,如果code=2则在各(x0,y0)处画箭头,如 果code=1则在各(x1,y1)处画箭头,如果code=3则在两端都画箭头;angle控制箭头轴到箭头边的角度abline(a,b)绘制斜率为b和截距为a的直线abline(h=y)在纵坐标y处画水平线abline(v=x)在横坐标x处画垂直线abline(lm.obj)画由lm.obj确定的回归线rect(x1,y1,x2,y2)绘制长方形,(x1,y1)为左下角,(x2,y2)为右上角polygon(x,y)绘制连接各x,y坐标确定的点的多边形legend(x,y,legend)在点(x,
6、y)处添加图例,说明内容由legend给定title()添加标题,也可添加一个副标题axis(side,vect)画坐标轴,side=1时画在下边,side=2时画在左边,side=3时画在上边,side=4时画在右边。可选参数at指定画刻度线的位置坐标box()在当前的图上加上边框在x-轴上用短线画出x数据的位置rug(x)在用户用鼠标在图上点击n次后返回n次点击的坐标(x,y);并可以在点击处绘制符号(type=”p”时)或连线(type=”l”时),缺省情况下不画符号或连线locator(n,type=”n”,)u 交互式绘图命令 R中最简单、最常用的函数是locator(n,type)
7、,等待用户用鼠标左键点击n个位置,如果设置了type,可以根据这n个位置直接进行低级绘图。也可以先不绘图,只把用户点击的坐标记录下来。另一个常用的交互式函数是identify(x,y,labels),识别点的函数,可以交换点给图中的点加上标签。u 举例一、一、R Graphics概述概述1、散点图、散点图2、柱状图、柱状图3 饼图饼图4、三维数据图、三维数据图5、绘制分布图、绘制分布图u Graphics包中的函数barplot柱状图或列图qqplotQ-Q图dotchart克利夫兰点图pairs散点图矩阵hist直方图imageimage图density核密度图contour等高图strip
8、chart纸带图persp三维数据透视图qqnormQ-Q图interaction.plot双因子组融响应总结plot散点图sunflowerplot太阳花图smoothScatter平滑散点图u 1、散点图 plot函数可以画出散点图,plot函数是一个泛型函数(可以画出不同类型的对象),plot函数可以画出多种类型的对象,包括向量、表格和时间序列等,最简单的散点图就是两个向量,调用的函数是plot.default。plot.default函数的定义形式如下:函数参数说明如下:函数参数说明如下:参数参数描述描述默认值默认值x,y绘制的数据,可以是两个单独的向量,也可是时间序列、公式、列表绘制
9、的数据,可以是两个单独的向量,也可是时间序列、公式、列表type设置绘制类型的字符,设置绘制类型的字符,type=“p”是画点,是画点,“1”画线,画线,“o”重叠地重叠地画线和点,画线和点,“b”用线将点连起来,用线将点连起来,“s”阶梯图阶梯图“p”xlim/lim数量向量,设置图形数量向量,设置图形x/y轴的范围轴的范围NULLlog设置坐标轴是否取对数,设置坐标轴是否取对数,log=“”“”表示不需要取对数,表示不需要取对数,“x”对对x轴取轴取对数,对数,“y”对对y轴取对数,轴取对数,“xy”对对x和和y轴取对数轴取对数“”“”main/sub图形的主标题图形的主标题/副标题副标题
10、NULLxlab/ylabx/y轴的标签轴的标签NULLaxes逻辑值,表示是否画坐标轴逻辑值,表示是否画坐标轴TRUEu 举例u 举例:交互式应用identify函数给图中的点加标签,点击一个就 添加一个u 举例:用text函数一次性给所有的点添加标签u 1、散点图 只是把两列数据画出来,plot函数是个不错的选择。但是如果有很多列数据,而且这些列数据可能被分成很多类型,或要对比画出两个矩阵所有列的图,此时可用matplot函数 matplot函数的定义形式如下:函数参数说明如下:函数参数说明如下:参数参数描述描述默认值默认值x,y包含要画图的数据的向量或矩阵,包含要画图的数据的向量或矩阵,
11、x与与y的行数和列数相等的行数和列数相等type同同plot函数函数“p”xlim/lim数量向量,设置图形数量向量,设置图形x/y轴的范围轴的范围NULLlty设置线条类型的向量设置线条类型的向量1:5lwd设置线宽的向量设置线宽的向量1xlab/ylabx/y轴的标签轴的标签NULLpch设置要绘制的符号的向量设置要绘制的符号的向量NULLcol设置颜色的向量设置颜色的向量1:6u 1、散点图 如果要画大量的点,可用smoothScatter()函数 matplot函数的定义形式如下:如果数据框中有n个变量,要逐对地画出这些变量间的散点图,可用pairs函数。u 举例u 1、散点图 此外p
12、lot函数还可画时间序列数据图:plot(x,y=NULL,plot.type=c(“multiple”,“single”),xy.labels,xy.lines,panel=lines,nc,yax.flip=FALSE,mar.mult=c(0,5.1,0,if(yax.flip)5.1 else 2.1),oma.multi=c(6,0,5,0),axes=TRUE,)u 举例u 2、柱状图 在R中用barplot绘制柱状图 barplot定义形式如下:函数参数说明如下:函数参数说明如下:参数参数描述描述默认值默认值height数值向量或矩阵。如果是矩阵,且数值向量或矩阵。如果是矩阵,且
13、beside=FALSE,那么柱子就是分段,那么柱子就是分段的,否则,柱子会依次画出的,否则,柱子会依次画出width向量,表示柱子的宽度向量,表示柱子的宽度1space若若beside=FALSE,此值表示柱子之间的间隔,若为,此值表示柱子之间的间隔,若为TRUE,还可设置一,还可设置一个两个元素的向量,一个元素表示每组柱子内部间隔,第二个元素表示个两个元素的向量,一个元素表示每组柱子内部间隔,第二个元素表示每组柱子之间的间隔每组柱子之间的间隔NULLnames.arg设置各个柱子名称的字符向量设置各个柱子名称的字符向量NULLlegend.text字符向量或逻辑值字符向量或逻辑值NULLb
14、eside逻辑值,设置列应该分段显示在同一个柱子中还是逐个画出来。逻辑值,设置列应该分段显示在同一个柱子中还是逐个画出来。FALSEhorizFALSE时,柱子从左向右依次垂直立着,时,柱子从左向右依次垂直立着,TRUE为从上到下依次水平的为从上到下依次水平的FALSEu 举例u 3、饼图 在R中用pie函数绘制饼图 pie定义形式如下:函数参数说明如下:函数参数说明如下:参数参数描述描述默认值默认值x用于绘图的非负数值向量用于绘图的非负数值向量labels生成标签的表达式,字符串向量生成标签的表达式,字符串向量names(x)edges数值,表示应该用多少条线段来绘制饼图的边框数值,表示应该
15、用多少条线段来绘制饼图的边框200radius数值,表示饼图的大小数值,表示饼图的大小0.8clockwise逻辑值,表示分块绘制的方向是顺时针还是逆时针逻辑值,表示分块绘制的方向是顺时针还是逆时针FALSEInit.angle数值,设置分块的起始角度数值,设置分块的起始角度If(clockwise)90 else 0density数值,设置每英寸上阴影线的数量数值,设置每英寸上阴影线的数量NULLu 举例u 4、三维图 在R中有三个绘制三维图的函数:persp()、image()和contour()(1)persp(),可以画出特定角度的三维曲面。定义形式如下:persp函数参数说明如下:函
16、数参数说明如下:参数参数描述描述默认值默认值x,y数值向量,说明数值向量,说明z中每个维度的含义中每个维度的含义z用于绘图的值的矩阵用于绘图的值的矩阵xlab、ylab、zlab设置设置x、y、z轴的标签的字符轴的标签的字符NULLmain、sub字符,设置图的主标题和副标题字符,设置图的主标题和副标题NULLtheta数值,设置视角的方位角方向数值,设置视角的方位角方向0phi数值,设置视角的余纬度数值,设置视角的余纬度15expand数值,用于扩大数值,用于扩大(z1)或缩小或缩小z(z1)的坐标的坐标NULLcol 曲面表面的颜色曲面表面的颜色“white”scale逻辑值,设置在画图时
17、是否要保持高宽比例逻辑值,设置在画图时是否要保持高宽比例TRUEu 举例u 举例u 4、三维图(2)image(),此函数会把矩阵中的数据点画成一个个的格子,格子的颜色对应于矩阵相应元素的数值。定义形式如下:image函数参数说明如下:函数参数说明如下:参数参数描述描述默认值默认值x,y数值向量,说明数值向量,说明z中每个维度的含义中每个维度的含义z用于绘图的值的矩阵用于绘图的值的矩阵xlim、ylim两个元素的向量,设置两个元素的向量,设置x、y轴的绘图范围轴的绘图范围zlimz中需要上色的值的范围中需要上色的值的范围col用于绘图的颜色向量一般用用于绘图的颜色向量一般用rainbow、he
18、at.colors、topo.colors、terrain.colors之类的函数生成之类的函数生成heat.colors(12)add逻辑值,设置是否要将画的图添加到已有的图上逻辑值,设置是否要将画的图添加到已有的图上FALSExaxs、yaxsx轴和轴和y轴的风格轴的风格xlab=“i”,ylab=“i”xlab、ylabx轴和轴和y轴的标签轴的标签breaks整数,设置颜色的分隔点的数量整数,设置颜色的分隔点的数量u 举例u 4、三维图(3)contour(),此函数会画出等高线,把数据中相等的值连起来。定义形式如下:contour函数参数说明如下:函数参数说明如下:参数参数描述描述默认
19、值默认值x,y数值向量,说明网格线的位置与矩阵数值向量,说明网格线的位置与矩阵z中值的对应关系中值的对应关系z用于绘图的数值向量用于绘图的数值向量nlevels等高水平的数量等高水平的数量10levels数值向量,设置画线的位置数值向量,设置画线的位置xlim、ylim、zlim两个元素组成的数值向量,设置两个元素组成的数值向量,设置x轴、轴、y轴和轴和z轴在图中的范围轴在图中的范围labcex等高标签的字符缩放因子等高标签的字符缩放因子0.6method字符,设置画等高标签的位置字符,设置画等高标签的位置drawlabels逻辑值,是否要画等高标签逻辑值,是否要画等高标签TRUEaxes逻辑
20、值,是否需要画坐标轴逻辑值,是否需要画坐标轴u 举例u 举例u 5、绘制分布图 在进行数据分析时,理解数据发布的形状比较重要,观察一个发布可以知道其中是否有异常值,还能看出给定范围内的观察数量。最广为人知的发布可视化方法是直方图,R中用hist函数画直方图。hist函数的定义形式如下(其中breaks参数表示直方图的组距):u 5、绘制分布图 另一个查看发布的方法是Q-Q(quantile-quantile)图,Q-Q图会将样本数据与理论发布(通常都是正态发布)进行比较,顾名思义,这个图会画出样本分位数和理论发布的分位数,如果样本数据发布与理论发布一致,那么所有点都会从左下角到右上角的45度对
21、角线上,Q-Q图可以有效地判断实际发布和期望发布的差异。在R中用qqnorm函数画这个图。如果不带参数,此函数会画出理论正态发布中每个分位点的发布。如果要比较两个数据的实际发布,或是比较数据发布与其他理论发布,可以用qqplot函数绘图。u 举例:学校检查本班47位同学的考试成绩是否符合正态发布。u 第一步在正态发布范围内随机抽样产生47位同学的考试成绩u 举例:第二步,考试成绩样本s1:c(52:60,45:72,85:94),s2:c(55:69,60:84,85:91),s3:c(57:59,65:84,75:93,95:99)u 5、绘制分布图 另一个发布可视化图是箱线图(box pl
22、ot)。箱线图是一种展示变量发布的紧凑方法,箱子表示四分位数差范围,四分位数差范围内是25%-75%的值,箱子里面的线表示中位数,箱子上下的“胡须”表示相邻值(边缘值)。超过“胡须”范围的点称为外部值(奇异值),单独画出。用boxplot函数可以画出箱线图。一般用公式化的boxplot绘制箱 线图。u boxplot(formula,data=NULL,subset,na.action=NULL)boxplot函数参数说明如下:函数参数说明如下:参数参数描述描述默认值默认值formula类似类似ygrp这样的公式,这样的公式,y表示要画的变量,表示要画的变量,grp是描述分组的变量是描述分组的
展开阅读全文