第四章 统计图

2012-04-17 生物谷 不详

第四章 统计图   统计图是统计描述的重要工具,它可以直观的反映出事物间的数量关系。因此,许多统计软件均提供了强大的统计做图功能。SAS的许多程序步,如Univariate过程等,也附有相应的绘图功能,这些我们拟在相关章节中讲述。本章将向大家介绍两个专门用于绘图的程序步――GCHART过程和GPLOT过程。前者用于绘制各种常用的统计图,而后者则用于绘制散点图。 在早期的DOS版本中,SAS只

第四章 统计图

 

统计图是统计描述的重要工具,它可以直观的反映出事物间的数量关系。因此,许多统计软件均提供了强大的统计做图功能。SAS的许多程序步,如Univariate过程等,也附有相应的绘图功能,这些我们拟在相关章节中讲述。本章将向大家介绍两个专门用于绘图的程序步――GCHART过程和GPLOT过程。前者用于绘制各种常用的统计图,而后者则用于绘制散点图。

在早期的DOS版本中,SAS只提供低分辨率图形(即用键盘字符模拟输出的图形)。而在WINDOWS时代,美观漂亮也成为了软件最重要的性能指标之一,因此SAS公司推出了高分辨率图形。虽然比起EXCEL等软件来,它的高分辨率图形仍然不那么令人满意,但至少已经跟上了时代的潮流。

高分辨率图形在专门的GRAPH视窗中输出,而低分辨率图形在OUTPUT视窗中一同输出。只要将绘图过程名中的字母G去掉,做出的就是低分辨率图形,你可以比较一下两种图形的“天壤之别”。

§4.1 GCHART过程

Gchart过程可以绘制水平/竖直条图(直方图)、立体直方图、饼图和星状图。我们可以用这些图来了解单个变量的分布或者多个变量之间的关系。

4.1.1 语法格式

PROC GCHART [ DATA=<数据集名> [选项] ] ;

指定要分析的数据集名及一些选项

 HBAR <变量名列> / [选项] ;

绘出条形图

 VBAR <变量名列> / [选项];

绘出水平条形图

 BLOCK <变量名列> / [选项];

绘出三维直方图

 PIE <量名列> / [选项];

绘出饼图

 STAR <变量名列> / [选项];

绘出星状图

 AXISn [选项];

控制坐标轴的形状和颜色

 BY <变量名列>;

按该变量取值分层绘制,要求数据集已按该变量排序

方括号中的为可选项,如果不写,系统会以默认值代替或者忽略该功能;而尖括号中的为必选项,表示如果写了该语句,则必须提供尖括号中的信息,否则可能出错。如[ DATA= <数据集名> ],表示你可以不写这一项,此时系统默认处理的是最新建立的数据集;而如果写了DATA=这一项,你就必须指定一个数据集名,不然SAS跟你没完。

4.1.2 语法说明

事实上,绘图程序步中的选项极为繁杂,如果合理地使用这些选项可以做出非常漂亮的统计图来。但这些选项也给大家的学习带来很大的不便,因此在这里我们只简要介绍几个常用的绘图语句中的选项。

【绘图语句选项】

  • MISSING 指定绘图时要将变量的缺失值也包括在内。
  • TYPE=做图类型关键字 指定要做图的类型,即图中条块代表的含义:缺省值是频数(FREQ);如果指定了选择项SUMVAR,则缺省值为总和(SUM)。可选的关键字有:
  • FREQ 要求按指定变量的频数做图。
  • PERCENT 要求按在横轴刻度表示范围内出现的频数占总数的百分比做图。
  • CFREQ 按累计频数做图。
  • CPERCENT 按累计百分比做图。
  • SUM 只能与SUMVAR选项同时使用,要求图中的每一条代表:变量在横轴表示的取值范围内时,SUMVAR指定变量的总和。
  • MEAN 只能与SUMVAR选项同时使用,要求图中的每一条代表:变量在横轴表示的取值范围内时,SUMVAR指定变量的均数。
  • SUMVAR=求和变量 指定使用TYPE=SUMMEAN时,用于求总和、均值的变量。
  • LEVAL=n 如果绘图变量是连续变量,用该选项产生有N个组段的图形。
  • GROUP=分组变量 要求产生以分组变量的值分组的并排图。
  • SUBGROUP=亚组变量 要求每个图形内部再按亚组变量的值分块。
  • CAXIS=颜色 指定坐标轴的颜色。
  • CTEXT=颜色 指定坐标轴文本的颜色。

4.1.3 应用实例

4.1 绘制《卫生统计学》第三版习题1.1的直方图,数据存在c:\user\wt1_1.dat中。

解:程序如下:

libname a 'c:\user'; 

指定c:\user文件夹为数据库a

data a.wt1_1;

数据步开始,指定要建立的数据集为a库的wt1_1

 infile 'c:\user\wt1_1.dat';

采用外部文件读入方式,文件名为c:\user\WT1_1.dat

 input x @@; 

输入的变量为x,采用连续输入的格式

proc gchart data=a.wt1_1;

调用绘图程序步gchart

 vbar x / levels=10;

绘出直方图,用于绘图的变量为x,分为10

run; 

开始运行以上程序

事实上ASSIST视窗的输出图形是彩色的,和我们用程序做出的有些区别,这是因为ASSIST视窗自动提交了一些绘图环境语句,对输出图形作了修饰的缘故。

实际上libname语句只需要运行一次就可以了,但在开始的几道例题里我们都写上了这一句,让大家逐步养成启动SAS后就运行这一句的习惯。请将C:\USER文件夹指定为A库,以后我们实习的数据集均放在该库中。

§4.2 GPLOT过程

GPLOT过程用于绘出散点图。图中的横、纵坐标分别代表两个变量。

4.2.1 语法格式

PROC GPLOT [ DATA=<数据集名> [选项] ] ;

 

 PLOT <纵坐标变量*横坐标变量[=分层变量名]...> / [选项];

指定绘图变量和选项

 PLOT2 <纵坐标变量*横坐标变量[=分层变量名]...> / [选项];

在原图基础上重叠绘制第二幅散点图

 SYMBOLn [选项]

定义符号、添加趋势线、定义点和线的颜色

 BY <变量名列>;

按该变量取值分层绘制,要求数据集已按该变量排序

实际上,SYMBOL语句中定义的选项为系统环境控制选项,这意味着一次定义,终生使用。除非重新定义,否则以后的输出图形都将会是第一个图形的“孪生兄弟”。

在这里SYMBOL后面紧跟了一个n,表示任意自然数。因为PLOT语句可以在同一坐标系内重叠绘制许多层图,而这个数字就表示SYMBOL语句是控制的哪一层图。

4.2.2 语法说明

GPLOT过程的选项】

  • UNIFORM 要求用BY语句分组打印的散点图的坐标刻度相同,便于比较。
  • VTOH=数值 指定纵横坐标的比例。

PLOT语句说明】

  • 分层变量

表示所做的散点图按指定变量的取值分层,默认按不同颜色来区分。

  • 语句选项
  • OVERLAY 同一语句做的图重叠在同一个坐标系中显示。
  • HAXIS=数值 定义横坐标的刻度。
  • VAXIS=数值 定义纵坐标的刻度。
  • CAXIS=颜色 定义坐标轴的颜色。
  • CTEXT=颜色 定义坐标轴文本的颜色。

SYMBOL语句选项】

  • VALUE=符号 可用的符号及相应名称有: PLUS STAR SQUARE  ◆ DIAMOND TRIANGLE
  • I=连线方式  ① JOIN 用直线连接。

         ② SPLINE 用光滑的曲线连接。

      1. NEEDLE 向横坐标画垂线。
      2. RL 添加回归直线。
  • WIDTH=宽度 定义数据点和连线的宽度。
  • COLOR=颜色 定义数据点和连线的颜色。

4.2.3 应用实例

4.2 1020岁男青年身高(cm)与前臂长(cm)如下,请绘出散点图(卫统p236 5.2题)。

170

173

160

155

173

168

178

183

180

165

前臂长

45

42

44

41

47

50

47

46

49

43

解:程序如下(注意程序中对输出图形作了些修饰)。

Libname a c:\user

指定c:\user文件夹为数据库a

data a.wt5_2;

数据步开始,指定要建立的数据集为a库的wt5_2

 input x y @@;

输入的变量为xy,采用连续输入的格式

 cards;

数据块开始

 170 45 173 42 160 44 155 41 173 41

数据块

 188 50 178 47 183 46 180 49 165 43

数据块

;

数据块结束

proc gplot data=a.wt5_2;

调用绘图程序步gplot

 plot y*x/ ctext=blue;

绘出散点图,用于绘图的变量为xy,坐标轴文本颜色为蓝色

 symbol value=star color=pink width=2; 

定义散点标记为粉红色星号,大小为2

run; 

开始运行以上程序

 绘制高分辨率统计图非常耗费系统资源,因此SAS在执行作图语句时实际上是将这些语句存入程序缓冲区,当用户打开GRAPH视窗看结果时才正式执行,从而绘出所需的统计图。如果用户没有看所绘制的图形,则绘图语句就一直留在缓冲区内,此时用户再执行任何程序,程序语句就全部在缓冲区内排队,等待绘图语句执行完毕,因此就无法得到相应的输出结果,这是同学们在上机时常犯的一个错误。

适当地使用统计图可以帮助我们更加深入的了解数据的分布规律。这里的例子只是绘图语句的简单用法,而绘图语句的复杂用法将结合例题在以后的各章中逐步介绍。

版权声明:
本网站所有内容来源注明为“梅斯医学”或“MedSci原创”的文字、图片和音视频资料,版权均属于梅斯医学所有。非经授权,任何媒体、网站或个人不得转载,授权转载时须注明来源为“梅斯医学”。其它来源的文章系转载文章,或“梅斯号”自媒体发布的文章,仅系出于传递更多信息之目的,本站仅负责审核内容合规,其内容不代表本站立场,本站不负责内容的准确性和版权。如果存在侵权、或不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
在此留言
评论区 (0)
#插入话题

相关资讯

第四章 多组资料均数比较的SAS编程实现

多组资料均数比较我们一般采用方差分析的方法,SAS中方差分析的功能非常全面,能实现方差分析功能的过程有anova过程和glm过程。 一、anova过程和glm过程简介 1. anova过程 anova过程存在于stat模块,主要的功能就是进行方差分析。anova过程用以对平衡实验设计资料(各分组因素各水平的所有组合具有相同的样本量或观察值)进行分析,不能用于对非平衡实验设计资料的方差分析。它

第五章 多个率比较的SAS编程实现

两个率或多个率的比较,我们非常熟悉的就是采用卡方检验的方法。除此之外,在特定条件下还可根据正态近似的原则采用u检验的方法进行分析。在SAS中,卡方检验的功能包含在freq过程之中,下面我们先熟悉一下freq过程的基本内容和功能。 一、freq过程的语句和功能 freq过程包含在SAS的BASE模块中,它可以执行描述性统计以及假设检验的功能,能产生从1维到n维的表格,即频数表以及列联表。对于单因

第三章 两组资料均数比较的SAS编程实现

一、均数差别比较的t检验 1. 样本均数和总体均数比较的t检验 样本均数和总体均数差别的比较可以直接进行比较,也可以将其看成每个测量值和总体均数差值的均数和0的比较,均为单变量分析的形式,可用前面介绍的三个执行描述性统计分析功能的过程来完成。这里我们用univariate过程和means过程分别演示这种分析的SAS编程实现方法,summary过程的操作方法各位可以自己试着练习一下。 以Mea

第一章 统计软件中的数据录入格式

第一章  统计软件中的数据录入格式 统计分析是科研中的必要环节,统计软件则是进行统计分析的利器。但是,在计算机已逐渐普及的今天,统计软件却仍让人感到几分神秘:除了大型统计软件都还没有中文版这一原因,统计软件在许多小的方面也有自己的特点,往往就是这些小地方就会让许多人深入宝山而空返。今天我们就来谈谈使用统计软件时一个最基本而又非常重要的问题--数据录入格式。 简言之,我们平时往往用表格

第二章 SAS/ASSIST视窗简介

第二章 SAS/ASSIST视窗简介 SAS是一个庞大的系统,它由许多模块组成,每个模块分别完成不同功能。由于SAS最初是为专业统计人员设计的(这一点和SPSS恰恰相反),因此使用上以编程为主,初学者掌握较为困难。现在,微机操作系统已经进入了WINDOWS时代,而WINDOWS软件的一个重要特点就是易学易用。要想在市场中继续领先,SAS必须推出能体现WINDOWS软件这一特色的新界面,SAS/A

第三章 SAS程序初步

第三章 SAS程序初步   从本质上讲,SAS是一种完善的第四代计算机语言。因此要真正掌握它,我们仍然要抛开其华丽的外表,从学习它的核心――SAS程序开始。 现在,让我们将SAS看成一个计算能力极强的统计学白痴(之所以这样说,是因为它计算能力虽然极强,却只能帮你计算而不能提出自己的实验设计方案或研究方向来),而你有一个非常小的关于数据分析的问题要请它帮忙。自然你要开口提出请求,无论措辞是委婉