欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

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

    • 资源ID:2563221       资源大小:1.48MB        全文页数:56页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    统计描述与绘图,1、统计描述 2、绘图方法 3、实验练习,授课内容,授课目的,学习如何应用R软件的统计描述与绘图,R的统计分析分为统计描述和统计推断两部分。统计描述是通过绘制统计图形、编制统计表、计算统计量等方法来表述数据的分布特征。 描述统计量包括了均值、中位数、次序统计量、百分数、方差、标准差、变异系数、极差、偏度系数等,是数据的位置度量、分散程度和分布形状的体现。 还包括分布函数、直方图、经验分布图、QQ图、茎叶图、箱线图等等。,均值(mean)的基本用法是 mean(x, trim=0, na.rm=FALSE); 其中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 mean(w.na); NA w.na.mean-mean(w.na, na.rm=TRUE); 1 62.36,若要计算数据的加权平均,可以用weighted.mean()函数,其基本格式为: weighted.mean(x, w, na.rm=FALSE) 其中w是数据x的权重系数,其维数与x相同,基本用法与mean()相同,唯一有区别的地方是: weighted.mean()不适用于数据框,它作用在数据框的时候,和作用于矩阵的时候,结果是一样的,返回全部数据的加权平均,百分数,将数据按从小到大的顺序排列后,取p分位数,若np是整数,则取第np和第np加一个数的平均;若np不是整数,取第np+1那个数。 计算百分数要用到的函数是quantile(),基本格式为: quantile(x, probs=seq(0,1,0.25), na.rm=FALSE, names=TRUE, type=7, ) probs给出相应的百分位数,默认值是0,0.25,0.5,0.75,1;na.rm是处理缺失数据的,na.rm=TRUE时,NA和NaN将从数据中移走,向量取值中若有NA或NaN,要添加这一参数,否则会出错;names若为TRUE,返回值当中有names这个属性“; type是取值1-9的整数,选择了九种分位数算法(具体算法见帮助文件)中的一种。, w.quantile attributes(w.quantile) $names 1 “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, sd=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-read.table(“chapter4-cl.txt“, header=T); 用hist()函数可以绘制直方图。 hist的一般用法为: hist(x, breaks=“Sturges“, freq=NULL, probability=!freq, ) break规定了直方图的组距(必须覆盖数据的范围);freq是逻辑变量,TRUE是频率直方图,FALSE是密度直方图;probability和freq相反,TRUE是密度直方图,FALSE是频率直方图。其他参数详见帮助文档。, hist(cl$Weight),用density()函数可以绘制与直方图配套的核密度估计。 density的一般用法为: density(x, bw=“nrd0“, adjust=1, kernel=c(“gaussian“, “), ) bw是带宽,默认值R画出光滑图形;kernel是核函数;adjust表示实际带宽是adjust*bw。其他参数详见帮助文档。 w hist(w, freq=F); w.density - density(w); w.density Call: density.default(x = w) Data: w (15 obs.); Bandwidth 'bw' = 3.478 x y Min. :36.97 Min. :9.044e-05 1st Qu.:49.08 1st Qu.:4.402e-03 Median :61.20 Median :1.603e-02 Mean :61.20 Mean :2.061e-02 3rd Qu.:73.32 3rd Qu.:3.409e-02 Max. :85.43 Max. :5.518e-02, 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线的颜色。 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);qqline(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 10 | 0,stem(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 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控制了“触须”的范围(默认值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“), col=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中的绘图命令 高级图形函数,R的图形函数分为两类: 高级图形函数直接绘制图形并可自动生成坐标轴等附属图形元素; 低级图形函数可以修改已有的图形或者为绘图规定一些选择项。 高级图形函数总是开始一个新图。下面我们介绍常用的高级图形函数,以及用来修饰这些高级图形函数的常用可选参数。,最常用的是plot()函数。比如, plot(x,y)(其中x,y是向量)对两个变量画散点图。 用plot(z) (其中z是一个定义了x变量和y变量的列表,或者一个两列的矩阵)也可以达到同样目的。 如果x是一个时间序列对象(时间序列对象用ts()函数生成),plot(x)绘制时间序列曲线图。 如果x是一个普通向量,则绘制x的值对其下标的散点图。 如果x是复数向量则绘制虚部对实部的散点图。 如果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的每一水平,绘制相应组的x和y的散点图。, pairs(cl), coplot(Weight Height | Sex),高级图形函数的常用选项,高级图形函数有一些共同的选项,作为函数的可选参数(自变量)。例如: plot(x) plot(x, main=“Graph of x“) 其中的main就是一个可选参数,用来指定图形的标题。没有此选项时图形就没有标题。这样的选项还有,低级图形函数,高级图形函数可以迅速简便地绘制常见类型的图形,但是,某些情况下你可能希望绘制一些有特殊要求的图形。比如,你希望坐标轴按照自己的设计绘制,在已有的图上增加另一组数据,在图中加入一行文本注释,绘出多个曲线代表的数据的标签,等等。 低级图形函数让你在已有的图的基础上进行添加。 低级图形函数一般需要指定位置信息,其中的坐标指的是所谓用户坐标,即前面的高级图形函数所建立的坐标系中的坐标。坐标可以用两个向量x和y给出,也可以由一个两列的矩阵给出。如果交互作图可以用下面介绍的locator()函数来交互地从图形中直接输入坐标位置。 常用的低级图形函数罗列如下:,图形参数详解,鉴于绘制有特殊需要的图形是R的一个强项,而使用图形参数是完成此类任务的重要手段,我们在这里较详细地介绍R的各种图形参数。这些图形参数可以大体上分为以下的几个大类,我们将分别介绍: 图形元素控制 坐标轴与坐标刻度 图形边空 一页多图,一、图形元素,图形由点、线、文本、多边形等元素构成。下列的图形参数用来控制图形元素的绘制细节:, 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),二、坐标轴与坐标刻度,许多高级图形带有坐标轴,还可以先不画坐标轴然后用axis()单独加。 函数box()用来画坐标区域四周的框线。 坐标轴包括三个部件:轴线(用lty可以控制线型),刻度线,刻度标签。它们可以用如下的图形参数来控制:,三、图形边空,R中一个单独的图由绘图区域(绘图的点、线等画在这个区域中)和包围绘图区域的边空组成,边空中可以包含坐标轴标签、坐标轴刻度标签、标题、小标题等,绘图区域一般被坐标轴包围。 R缺省的图形边空常常太大,以至于有时图形窗口较小时边空占了整个图形的很大一部分。 par()函数用来访问或修改当前图形设备的图形参数。 边空的大小由mai参数或mar参数控制,它们都是四个元素的向量,分别规定下方、左方、上方、右方的边空大小,其中mai取值的单位是英寸,而mar的取值单位是文本行高度。例如: par(mai=c(1, 0.5, 0.5, 0) par(mar=c(4, 2, 2, 1),四、一页多图,R可以在同一页面开若干个按行、列排列的窗格,在每个窗格中可以作一幅图。 每个图有自己的边空,而所有图的外面可以包一个“外边空”。 一页多图用mfrow参数或mfcol参数规定,如:, par(mfrow=c(3,2) 表示同一页有三行两列共六个图,而且次序为按行填放。类似地, par(mfcol=c(3,2) 规定相同的窗格结构,但是次序为按列填放,即先填满第一列的三个再填第二列。 要取消一页多图只要再运行 par(mfrow=c(1,1)即可。 缺省时无外边空。为了规定外边空大小,可以用omi参数或oma参数。omi参数使用英寸为单位,oma参数以文本行高为单位,两个参数均为四个元素的向量,分别给出下、左、上、右方的边空大小。如: 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,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) 此参数为一个向量,分别给出窗格的左、右、下、上边缘的位置,取值为占全页面的比例,比如上面的例子在页面的右下方开一个窗格作图。,实验练习,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 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“);,

    注意事项

    本文(第五讲数据描述性分析与绘图.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开