第五讲数据描述性分析与绘图ppt课件

上传人:cn****1 文档编号:592600318 上传时间:2024-09-21 格式:PPT 页数:56 大小:1.15MB
返回 下载 相关 举报
第五讲数据描述性分析与绘图ppt课件_第1页
第1页 / 共56页
第五讲数据描述性分析与绘图ppt课件_第2页
第2页 / 共56页
第五讲数据描述性分析与绘图ppt课件_第3页
第3页 / 共56页
第五讲数据描述性分析与绘图ppt课件_第4页
第4页 / 共56页
第五讲数据描述性分析与绘图ppt课件_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《第五讲数据描述性分析与绘图ppt课件》由会员分享,可在线阅读,更多相关《第五讲数据描述性分析与绘图ppt课件(56页珍藏版)》请在金锄头文库上搜索。

1、统计描画与绘图统计描画与绘图1 1、统计描画、统计描画2 2、绘图方法、绘图方法3 3、实验练习、实验练习授课内容授课内容授课目的授课目的学习如何运用学习如何运用R软件的统计描画与绘图软件的统计描画与绘图R的统计分析分为统计描画和统计推断两部分。统计描画是经过绘制统计图形、编制统计表、计算统计量等方法来表述数据的分布特征。描画统计量包括了均值、中位数、次序统计量、百分数、方差、规范差、变异系数、极差、偏度系数等,是数据的位置度量、分散程度和分布外形的表达。还包括分布函数、直方图、阅历分布图、QQ图、茎叶图、箱线图等等。 均值(mean)的根本用法是mean(x, trim=0, na.rm=F

2、ALSE);其中x是要计算均值的那个量,trim是计算均值前,去掉x两端观测值的比例,na.rm假设是TRUE,那么表示删除NA再计算均值,允许缺失数据。 x x mean(x) 1 6.5 假设要分别求矩阵的行和列,那么要用apply()函数 apply(x, 1, mean) 1 5.5 6.5 7.5 apply(x, 2, mean) 1 2 5 8 11假设x是个date frame, 那么前往的是各列的平均值 mean(as.data.frame(x) V1 V2 V3 V4 2 5 8 11因此多元数据的输入采用数据框的方式,会便于后期数据的处置 w w.mean w.na me

3、an(w.na); NA w.na.mean w.quantile attributes(w.quantile) $names1 0% 25% 50% 75% 100% quantile(w, probs=seq(0,1, 0.2) 0% 20% 40% 60% 80% 100% 47.4 56.98 62.20 64.00 67.32 75.00 数据的分布数据的分布数据的分布主要调查分布函数(p), 密度函数(d), 分位数函数(q)及产生随机数(r).以正态分布为例: data dnorm(data, mean=0, sd=1, log=F); pnorm(data, mean=0, s

4、d=1, lower.tail=T, log.p=F); p qnorm(p, mean=0, sd=1, lower.tail=T, log.p=F); 1 1.959964 1.644854 # 0.05/2, 0.1/2分位数直方图、阅历分布图与直方图、阅历分布图与QQ图图 cl hist(cl$Weight)用density()函数可以绘制与直方图配套的核密度估计。density的普通用法为: density(x, bw=nrd0, adjust=1, kernel=c(gaussian, ), )bw是带宽,默许值R画出光滑图形;kernel是核函数;adjust表示实践带宽是adj

5、ust*bw。其他参数详见协助文档。 w hist(w, freq=F); w.density lines(w.density, col=blue); xlines(x, dnorm(x, mean(w), sd(w), col=red );阅历分布函数ecdf()可以估计总体的分布函数,普通用法为: ecdf(x)假设要在R中画出阅历分布函数,那么用plot函数: plot(ecdf(x), ylab=Fn(x), verticals=FALSE, col.01line=gray70)verticals是逻辑变量,TRUE时表示画竖线,否那么不画竖线;col.01line是0-1线的颜色。

6、plot(ecdf(w), verticals=T, do.p=F); x lines(x, pnorm(x, mean(w), sd(w)不画左延续点QQ图是用来鉴别样本的分布能否近似于某种类型的分布qqnorm()和qqline()提供了画正态QQ图和相应直线的方法 qqnorm(y, ylim, xlab= , ylab= , plot.it=TRUE, datax=FALSE)plot.it是逻辑变量,TRUE时将结果画出来;datax是将样本数据放x轴,默许值是FALSE。 qqplot(x, y, plot.it=TRUE);比较x和y的分布接近程度 qqnorm(w);qqlin

7、e(w, col=red) 茎叶图、箱线图茎叶图、箱线图茎叶图stem()可以细致地看出数据分布的构造。stem()的普通用法为: stem(x, scale=1, width=80)scale控制了茎叶图的长度,默许值是1,假设scale=2,那么表示将0-9这10个个位数分成两段,04为一段,59为一段;width是绘图的宽度。 x stem(x); The decimal point is 1 digit(s) to the right of the | 2 | 5 3 | 4 | 5 5 | 045 6 | 148 7 | 25589 8 | 134445667999 9 | 0112

8、 10 | 0stem(x, scale=2) The decimal point is 1 digit(s) to the right of the | 2 | 5 3 | 3 | 4 | 4 | 5 5 | 04 5 | 5 6 | 14 6 | 8 7 | 2 7 | 5589 8 | 13444 8 | 5667999 9 | 0112 9 | 10 | 0 stem(x, scale=0.5); # scale也可以是小数,等于0.5时,表示将0-9这10个个位数分成1/2段,即20个数为一段 The decimal point is 1 digit(s) to the right

9、of the | 2 | 5 4 | 5045 6 | 14825589 8 | 1344456679990112 10 | 0箱线图boxplot()直观地展现数据分布的主要特征。boxplot()有三种根本的用法: boxplot(x, ) boxplot(x, , range=1.5, width, varwidth, notch=FALSE, outline=TRUE, , horizontal=FALSE, add=FALSE, at=NULL) boxplot(formula, data, , subset, na.action=NULL);x是数据构成的数值型向量;range控制

10、了“触须的范围(默许值1.5);notch=TRUE时,箱线图带有切口切口表示中位数的近似95%置信区间; outline是逻辑变量,TRUE时标出异常点;horizontal是逻辑变量,TRUE表示把箱线图绘制成程度状(默许值为FALSE); add是逻辑变量,TRUE时表示在原图上画图,否那么交换一张图(默许值为FALSE)。假设用最后一种方式,fomular是公式;data给出了公式作用的对象;subset是可选参数,可以给定要绘制的数据子集;na.action表示对NA数据作出处置,默许值为NULL,即忽略NA数据。 A B boxplot(A, B, names=c(A, B), c

11、ol=c(red, blue); boxplot(A, B, notch=T, outline=T, names=c(A, B), col=c(3,5); InsectSprays; boxplot(countspray, data=InsectSprays, col=lightgray) boxplot(countspray, data=InsectSprays, notch=T, col=2:7, add=T) boxplot(decrease treatment, data = OrchardSprays, log = y, col = bisque); R中的绘图命令中的绘图命令高级图

12、形函数高级图形函数 R的图形函数分为两类: 高级图形函数直接绘制图形并可自动生成坐标轴等附属图形元素; 低级图形函数可以修正已有的图形或者为绘图规定一些选择项。高级图形函数总是开场一个新图。下面我们引见常用的高级图形函数,以及用来修饰这些高级图形函数的常用可选参数。最常用的是plot()函数。比如,plot(x,y)其中x,y是向量对两个变量画散点图。用plot(z) 其中z是一个定义了x变量和y变量的列表,或者一个两列的矩阵也可以到达同样目的。假设x是一个时间序列对象时间序列对象用ts()函数生成,plot(x)绘制时间序列曲线图。假设x是一个普通向量,那么绘制x的值对其下标的散点图。假设x

13、是复数向量那么绘制虚部对实部的散点图。假设f是一个因子,那么plot(f)绘制f的条形图每个因子程度的个数。假设f是因子,y是同长度的数值向量,那么plot(f,y)对f的每一因子程度绘制y中相应数值的盒形图。假设d是一个数据框,那么plot(d)对d的每两个变量之间作图散点图等。假设X是一个数值型矩阵或数据框,用pairs(X)可以绘制每两列之间的散点图矩阵。这在变量个数不太多时可以同时看到多个变量的两两关系,变量太多时那么图示过小而看不清。协同图coplot是一种多变量的探求性分析图形。其方式为coplot(y x | z),其中x 和y是数值型向量,z是同长度的因子。对z的每一程度,绘制

14、相应组的x和y的散点图。 pairs(cl) coplot(Weight Height | Sex) 高级图形函数的常用选项高级图形函数的常用选项高级图形函数有一些共同的选项,作为函数的可选参数自变量。例如: plot(x) plot(x, main=Graph of x) 其中的main就是一个可选参数,用来指定图形的标题。没有此选项时图形就没有标题。这样的选项还有add=T使函数象低级图形函数那样不是开始一个新图形而是在原图基础上添加。axes=F暂不画坐标轴,随后可以用axis()函数更精确地规定坐标轴的画法。缺省值是axes=T,即有坐标轴。log=x log=y log=xy把x轴,

15、y轴或两个坐标轴用对数刻度绘制。type=type=p type=l type=b type=o type=h type=s type=S type=n规定绘图方式:绘点 画线 绘点并在中间用线连接 绘点并画线穿过各点 从点到横轴画垂线 阶梯函数;左连续 阶梯函数;右连续 不画任何点、线,但仍画坐标轴并建立坐标系,适用于后面用低级图形函数作图。xlab=字符串ylab=字符串 main=字符串 sub=字符串定义x轴和y轴的标签,缺省时使用对象名。图形的标题; 图形的小标题,用较小字体画在x轴下方。低级图形函数低级图形函数 高级图形函数可以迅速简便地绘制常见类型的图形,但是,某些情况下他能够希

16、望绘制一些有特殊要求的图形。比如,他希望坐标轴按照本人的设计绘制,在已有的图上添加另一组数据,在图中参与一行文本注释,绘出多个曲线代表的数据的标签,等等。 低级图形函数让他在已有的图的根底上进展添加。低级图形函数普通需求指定位置信息,其中的坐标指的是所谓用户坐标,即前面的高级图形函数所建立的坐标系中的坐标。坐标可以用两个向量x和y给出,也可以由一个两列的矩阵给出。假设交互作图可以用下面引见的locator()函数来交互地从图形中直接输入坐标位置。常用的低级图形函数罗列如下:points(x,y)lines(x,y)在当前图形上叠加一组点或线。可以使用plot()的type=参数来指定绘制方法,

17、缺省时points() 画点,lines()画线。text(x,y, labels, .)在由坐标x和y给出的位置标出由labels指定的字符串。labels可以是数值型或字符型的向量,labelsi在xi,yi处标出。abline(a, b)abline(h=y)abline(v=x) abline( lm.obj)在当前图形上画一条直线。两个参数a, b分布给出截距和斜率。指定h=参数时绘制水平线,指定v=参数时绘制垂直线。以一个最小二乘拟合结果lm.obj作为参数时由lm.obj的$coefficients 成员给出直线的截距和斜率。polygon(x, y, .)以由向量x给出的横坐标

18、和向量y给出的纵坐标为顶点绘制多边形。可以用col=参数指定一个颜色填充多边形内部。legend(x, y, legend, .) legend(, angle=v) legend(,density=v) legend(, fill=v) legend(, col=v) legend(, lty=v) legend(, pch=v) legend(, marks=v) legend函数用来在当前图形的指定坐标位置绘制图例。图例的说明文字由向量legend提供。至少下面的v值要给出以确定要对什么图例进行说明,v是长度与legend相同的向量。angle参数指定几种阴影斜角。 density参数指

19、定几种阴影密度。fill参数指定几种填充颜色。 col参数指定几种颜色。lty参数指定几种线型。pch参数指定几种散点符号,为字符型向量。 marks参数也指定几种散点符号,但使用散点符号数值代号,为数值型向量。title(main, sub)绘制由main指定的标题和由sub指定的小标题。axis(side, .)绘制一条坐标轴。这之前的绘图函数必须已经用axes=F选项抑制了自动的坐标轴。参数side 指定在哪一边绘制坐标轴,取值为1到4,1为下边,然后逆时针数。可以用at=参数指定刻度位置,用labels参数指定刻度处的标签。图形参数详解图形参数详解 鉴于绘制有特殊需求的图形是R的一个强

20、项,而运用图形参数是完成此类义务的重要手段,我们在这里较详细地引见R的各种图形参数。这些图形参数可以大体上分为以下的几个大类,我们将分别引见:图形元素控制 坐标轴与坐标刻度 图形边空 一页多图 一、图形元素一、图形元素图形由点、线、文本、多边形等元素构成。以下的图形参数用来控制图形元素的绘制细节:pch=+ pch=4指定用于绘制散点的符号。绘制的点往往略高于或低于指定的坐标位置,仅pch=“.”无这个问题。如果pch的值为从0到18之间的一个数字,将使用特殊的绘点符号。下例可以显示所有特殊绘点符号: plot(c(0, 100), c(0, 100), type=n, axes=F, xla

21、b=, ylab=) legend(10,90, as.character(0:9), pch=0:9) legend(50,70, as.character(10:18), pch=10:18) plot(c(0, 100), c(0, 100), type=n, axes=F, xlab=, ylab=) legend(10,90, as.character(0:9), pch=0:9) legend(50,90, as.character(10:18), pch=10:18) lty=2指定画线用的线型。缺省值lty=1是实线。从2开始是各种虚线。lwd=2指定线粗细,以标准线粗细为单位

22、。这个参数影响数据曲线的线宽以及坐标轴的线宽。下例绘制正弦曲线图: par(lwd=2,col=“blue”,lty=2) #设定图形参数 x = (0:100)/100*2*pi plot(x, sin(x), type=l, axes=F) abline(h=0) abline(v=0)col=2指定颜色,可应用于绘点、线、文本、填充区域、图象。颜色值也可以用象red,blue 这样的颜色名指定。font=2用来指定字体的整数。一般font=1是正体,2是 黑体黑体,3是 斜体,4是 黑斜体黑斜体。font.axisfont.labfont.mainfont.sub分别用来指定坐标刻度、坐

23、标轴标签、标题、小标题所用的字体。adj=-0.1指定文本相对于给定坐标的对齐方式。取0表示左对齐,取1表示右对齐,取0.5表示居中。此参数的值实际代表的是出现在给定坐标左边的文本的比例,所以adj=-0.1的效果是文本出现在给定坐标位置的右边并空出相当于文本10%长度的距离。cex=1.5指定字符放大倍数。二、坐标轴与坐标刻度二、坐标轴与坐标刻度许多高级图形带有坐标轴,还可以先不画坐标轴然后用axis()单独加。函数box()用来画坐标区域周围的框线。坐标轴包括三个部件:轴线用lty可以控制线型,刻度线,刻度标签。它们可以用如下的图形参数来控制:lab=c(5, 7, 12)第一个数为x轴希

24、望画几个刻度线,第二个数为y轴希望画几个刻度线,这两个数是建议性的;第三个数是坐标刻度标签的宽度为多少个字符,包括小数点,这个数太小会使刻度标签四舍五入成一样的值。las=1坐标刻度标签的方向。0表示总是平行于坐标轴,1表示总是水平,2表示总是垂直于坐标轴。mgp=c(3,1,0)坐标轴各部件的位置。第一个元素为坐标轴位置到坐标轴标签的距离,以文本行高为单位。第二个元素为坐标轴位置到坐标刻度标签的距离。第三个元素为坐标轴位置到实际画的坐标轴的距离,通常是0。tck=0.01坐标轴刻度线长度,单位是绘图区域大小,值为占绘图区域的比例。tck小于0.5时x轴和y 轴的刻度线将统一到相同的长度。取1

25、时即画格子线。取负值时刻度线画在绘图区域的外面。xaxs=syaxs=d控制x轴和y轴的画轴方法。取值为s(即standard)或e(即extended)的时候数据范围控制在最小刻度和最大刻度之间。取e时如果有数据点十分靠近边缘轴的范围会略微扩大。这种画轴方式有时会在轴的一边留下太大的空白。取值为“i”(即internal)或“r”(此为缺省)使得刻度线都落在数据范围内部,而“r”方式所留的边空较小。取值设为d时会锁定此坐标轴,后续的图形都使用与它完全相同的坐标轴,这在要生成一系列可比较的图形的时候是有用的。要解除锁定需要把这个图形参数设为其它值。三、图形边空三、图形边空 R中一个单独的图由绘

26、图区域绘图的点、线等画在这个区域中和包围绘图区域的边空组成,边空中可以包含坐标轴标签、坐标轴刻度标签、标题、小标题等,绘图区域普通被坐标轴包围。R缺省的图形边空经常太大,以致于有时图形窗口较小时边空占了整个图形的很大一部分。 par()函数用来访问或修正当前图形设备的图形参数。边空的大小由mai参数或mar参数控制,它们都是四个元素的向量,分别规定下方、左方、上方、右方的边空大小,其中mai取值的单位是英寸,而mar的取值单位是文本行高度。例如: par(mai=c(1, 0.5, 0.5, 0) par(mar=c(4, 2, 2, 1)四、一页多图四、一页多图 R可以在同一页面开假设干个按

27、行、列陈列的窗格,在每个窗格中可以作一幅图。每个图有本人的边空,而一切图的外面可以包一个“外边空。一页多图用mfrow参数或mfcol参数规定,如: par(mfrow=c(3,2) 表示同一页有三行两列共六个图,而且次序为按行填放。类似地, par(mfcol=c(3,2) 规定一样的窗格构造,但是次序为按列填放,即先填满第一列的三个再填第二列。要取消一页多图只需再运转 par(mfrow=c(1,1)即可。缺省时无外边空。为了规定外边空大小,可以用omi参数或oma参数。omi参数运用英寸为单位,oma参数以文本行高为单位,两个参数均为四个元素的向量,分别给出下、左、上、右方的边空大小。如

28、: par(oma=c(2,0,3,0)函数mtext用来在外边空加文字标注。其用法为 mtext(text, side = 3, line = 0, outer = FALSE)其中text为要加的文本内容,side表示在哪一边写1为下,2为左,3为上,4为右,line 表示边空从里向外数的第几行,最里面的一行是第0号,outer=TRUE时运用外边空,否那么会运用当前图的边空。例如:par(mfrow=c(2,2), oma=c(0,0,3,0), mar=c(2,1,1,0.1) plot(Height) plot(Sex) boxplot(WeightSex) plot(Height,

29、Weight) mtext(Simulation Data, outer=T, cex=1.5) 在多图环境中还可以用mfg参数来直接跳到某一个窗格,比如 par(mfg=c(2,2,3,2) 表示在三行两列的多图环境中直接跳到第二行第二列位置。mfg参数的后两个表示多图环境的行、列数,前两个表示要跳到的位置,后面是多图环境的参数。可以不运用多图环境而直接在页面中的恣意位置产生一个窗格来绘图,参数为fig,如: par(fig=c(4,9,1,4)/10) 此参数为一个向量,分别给出窗格的左、右、下、上边缘的位置,取值为占全页面的比例,比如上面的例子在页面的右下方开一个窗格作图。实验练习实验练

30、习1、从数据文件class.txt读入数据存为数据框,给数据框添加名字:name, age, height, weight, sex;在一页中对体重作出qqnorm图、直方图、Boxplot; 对身高和体重作qqplot图,要求给出标题、坐标轴等。 class read.table(class.txt, header=T, sep=t); attach(class); oldpar qqnorm(Height); hist(Height); boxplot(Height); qqplot(Height,Weight, main=身高对体重的QQ图); par(oldpar);2、对上述数据class.txt作尽能够多的本节讲过的图。要求同时用到高级图形和低级图形函数。3、 将屏幕分割为四块,并分别画出y=sin(x),z=3*cos(x),a=sin(x)*cos(x),b=sin(x)/x。 x y- sin(x); z-3*cos(x); a-sin(x)*cos(x); b par(mfrow=c(2,2); plot(y, type=l, xlab=x, ylab=y); plot(z, type=l, xlab=x, ylab=z); plot(a, type=l, xlab=x, ylab=a); plot(b, type=l, xlab=x, ylab=b);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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