1、第6章 统计图表第6章 统计图表6.1 统计表的概念和种类6.2 统计图的基本概念6.3 TABULATE过程6.4 GPLOT过程的6.5 GCHART过程6.6 图形界面的图形制作6.1 统计表的概念和种类表8.1 标题(何时、何地)横 行 总标目纵行总标目子纵标目1 子纵标目n子横标目1子横标目k 数字区域o从构成要素看,统计表由标题、横行栏目(分组标志)、纵行栏目(统计指标)和统计数据四部分组成。o从内容上看,分为主词和宾词两部分。主词是被研究对象的总体及其分组,宾词是指说明总体特征的统计指标。主词栏 宾词栏 统计表的种类按用途分:n调查表n整理表n分析表按主词的分组情况:n简单表:主
2、词未经任何分组n简单分组表:表的主词仅按一个标志分组的统计表n复合表:表的主词按两个或两个以上标志进行分组的统计表6.2 统计图的基本概念统计图是用点、线、面等图形来直观的反映变量分布特征、内部结构、变量间关系及其发展变化的一种常用形式,常见的统计图:o直方图:表示经同级分组后各组的频数分布情况,其条形的高度代表各组的频数或频率。o饼图:反映事物的内部结构,必须用相对数,饼图的每个扇面代表某一部分占总体的比重,各部分之和为1。o柱状图:表示不同总体某一指标的数量特征,一般用于不同时间、地点的某一指标间的对比。o散点图:考察两变量间关系,反映两个连续的变量之间有无关系,是直线关系还是曲线关系等。
3、6.3 TABULATE过程TABULATE过程的功能o 可以对总体进行简单分组汇总o 可以对总体按两个或两个以上标志进行复合分组汇总o 以比较灵活的方式对每组进行合计,还可以计算每个分组单元的百分比。TABULATE过程的一般格式PROC TABULATE;CLASS class-variable-list;VAR analysis-variable-list;TABLErow-expression,col-xpression ;BY variable-list;FREQ variable;WEIGHT variable;FORMAT variable-list-1 format-1;1.P
4、ROC TABULATE语句其一般格式为:PROC TABULATE;该语句中的选择项常用的有:oDATA=SAS-data-set:指定所使用的输入数据集,缺省时使用最新创建的数据集。oFORMAT=format-name(格式名):对每个报表单元规定输出格式,默认值为BEST12.2。此选项对减少报表中输出数值的域宽非常有用。oNOSEPS:要求表中不出现水平分隔线。2.CLASS语句一般格式为:CLASS class-variable-list;该语句规定输出报表中的分组标志。在此后的TABLE语句中出现的任一分组标志必须事先在CLASS语句中定义。这些分组变量一般为字符型的,若是数值型
5、的,其值要求有限,否则应事先通过FORMAT语句处理成几个离散值。3.VAR语句一般格式为:VAR analysis-variable-list;该语句规定报表中的分析变量。所有在TABLE语句中出现的分析变量必须事先在该语句中予以定义。作为分析变量,要求其为数值型。4.FORMAT语句一般格式为:FORMAT variable-list-1 format-1 ;该语句用于对分类变量规定离散水平,特别是当需要按连续变量进行分类时,该语句对数值的离散化尤其有用。5.TABLE语句一般格式为:TABLE row-expression,column-expression ;o语句中的三个维表达式分别
6、表示输出表格的页、行和列的有关规定o当缺少一个表达式时,定义了一个二维表格o缺少两个表达式时,定义一个一维表格,如果只要行表达式部分,可写成:TABLE 行表达式,。维表达式的主要元素包括:o变量类型o操作符TABLE语句的变量类型o分类变量:来自CLASS语句或ALL,ALL是系统提供的仅有一个值的特殊分类变量,不考虑分类变量的水平,用ALL生成子集和及总和。o分析变量:来自VAR语句o统计量:用统计量关键字表示,有N、MIN、MAX、SUM、MEAN和百分数等。当规定了分析变量而没有规定统计量时,默认的统计量为SUM;如果既没有规定分析变量也没有规定统计量,默认的统计量为N,即分类变量值的
7、交叉频数。TABLE语句的操作符o 星号(*):在维内对操作元素进行交叉连接,即复合分组,表示制表项嵌套。o 空格:对操作元素进行并排连接,在列表达式,空格表示横向并排连接,在行表达式,空格表示纵向并排连接。o 圆括号():对操作元素或分组规定先后顺序。o 逗号(,):用于区分表达式部分o 尖括号():规定分母的定义百分数在表格中的输出o子组的观测数与总观测数之比,叫频数百分比,或叫频数的比率,用PCTN表示o分析变量各子组的组内数值之和与总数值之和相比,叫和数百分比,或叫和数比例,用PCTSUM表示o上述两种百分比率不限于子组与总和数之比,还可以考虑子组再分组情况。o百分比制表的格式:PCT
8、N或PCTSUM=标签。标签由用户书写,代替关键字PCTN和PCTSUM输出到表格当中。百分比定义1.行总和百分数:如果列维中的所有分类变量,而且也只有列维中的分类变量出现在百分比定义中,其分母为每行的总和。例如,Table a,b*(n pctn);2.列总和百分数:如果行维中的所有分类变量,而且也只有行维中的分类变量出现在百分比定义中,其分母为每列的总和。例如,Table a,b*(n pctn);3.其他总和的百分比:如果在页维中的所有分类变量,而且也只有页维中的分类变量出现在百分比定义中,则对每个页维交叉计算行、列总和的百分比。例如,Table a,b*(n pctn);B12NPCT
9、NNPCTNA102530751220334067B12NPCTNNPCTNA101030301220204040B12NPCTNNPCTNA103330431220674057TABULATE过程实例1oData student;oinput NAME$AGE SEX$HEIGHT WEIGHT SCORE;oCARDS;oLiPing 23 F 171 57 620oWangHua 18 F 162 56 578oZhangP 24 M 156 45 599oGaoKe 19 F 170 55 603oLiuLiu 21 F 155 48 579oPingPing 18 M 186 65
10、594oHuYi 16 F 156 48 615oQueHong 19 M 178 77 580oQinYin 20 F 167 69 578oShiLei 22 F 154 42 588o;oproc tabulate FORMAT=6.2;oclass sex age;ovar height;otable(sex age)*height*(mean N*F=6.0);orun;TABULATE过程实例2odata sales;oinput region$citisize$pop product$saletype$quantity income;ocards;oes s 25000 a100
11、 r 150 3750 ne s 37000 a100 r 200 5000oso s 48000 a100 r 410 10250 we s 32000 a100 r 180 4500oes m 125000 a100 r 350 8750 ne m 237000 a100 r 600 15000oso m 348000 a100 r 710 17750 we m 432000 a100 r 780 19500oes l 62500 a100 r 750 18750 ne l 837000 a100 r 800 20000oso l 748000 a100 r 760 19000 we l
12、93200 a100 r 880 22000oes s 25000 a100 w 150 3000 ne s 37000 a100 w 200 4000oso s 48000 a100 w 410 8200 we s 32000 a100 w 180 3600oes m 125000 a100 w 350 7000 ne m 237000 a100 w 600 12000oso m 348000 a100 w 710 14200 we m 432000 a100 w 780 15600oes l 62500 a100 w 750 15000 ne l 837000 a100 w 800 160
13、00oso l 748000 a100 w 760 15200 we l 932000 a100 w 880 17600oes s 25000 a200 r 165 4125 ne s 37000 a200 r 215 5375oso s 48000 a200 r 425 10425 we s 32000 a200 r 195 4875oes m 125000 a200 r 365 9125 ne m 237000 a200 r 615 15375o;oproc tabulate noseps;oclass region citisize product saletype;ovar pop q
14、uantity income;otable product,region*citisize,saletype*(quantity income);otable region all,pop quantity income;otable region citisize,product*saletype quantity income;otable region*product all,(saletype all)*(quantity income);orun;TABULATE过程实例3data sales;input region$citysize$pop product$saletype$qu
15、antity amount;cards;es s 25000 a100 r 150 3750 ne s 37000 a100 r 200 5000so s 48000 a100 r 410 10250 we s 32000 a100 r 180 4500es m 125000 a100 r 350 8750 ne m 237000 a100 r 600 15000so m 348000 a100 r 710 17750 we m 432000 a100 r 780 19500es l 62500 a100 r 750 18750 ne l 837000 a100 r 800 20000so l
16、 748000 a100 r 760 19000 we l 93200 a100 r 880 22000es s 25000 a100 w 150 3000 ne s 37000 a100 w 200 4000so s 48000 a100 w 410 8200 we s 32000 a100 w 180 3600es m 125000 a100 w 350 7000 ne m 237000 a100 w 600 12000so m 348000 a100 w 710 14200 we m 432000 a100 w 780 15600es l 62500 a100 w 750 15000 n
17、e l 837000 a100 w 800 16000so l 748000 a100 w 760 15200 we l 932000 a100 w 880 17600es s 25000 a200 r 165 4125 ne s 37000 a200 r 215 5375so s 48000 a200 r 425 10425 we s 32000 a200 r 195 4875es m 125000 a200 r 365 9125 ne m 237000 a200 r 615 15375;TABULATE过程实例3(续)proc format;value$regfmt nc=NORTH ce
18、ntral ne=NORTH EAST so=SOUTH we=WEST;value$sizefmt s=UNDER 50000 m=50000 TO 500000 l=OVER 500000;value$salefmt r=RETAIL w=WHOLESALE;proc format;picture pct low-0=000.00%(prefix=-)0-high=0000.00%;proc tabulate;class region saletype;var amount;format region$regfmt.;format citysize$sizefmt.;format sale
19、type$salefmt.;table all*f=dollar11.region*f=comma11.,saletype=REGIONAL SALES ANALYSIS*amount=*(sum pctsum*f=pct.n*f=6.pctn*f=pct.)/rtspace=12;table all region,saletype*amount*(sum pctsum n pctn)/rtspace=12;keylabel sum=REVENUE n=LOCATIONS pctsum=PERCENT OF SALES pctn=PERCENT OF LOCNS all=TOTAL;run;T
20、ABULATE过程实例3(续)proc tabulate;class region saletype;var amount;table all region,saletype*amount*(sum pctsum n pctn);run;6.4 GPLOT过程GPLOT过程能够画出散点图、折线图以及曲线图,对于这些图形,可以做到:o符号可以根据要求进行选择,在图上可以用变量值加标签。o坐标轴的刻度间隔及标记可以选择。o图的大小可以选择,在一张纸上可以画两个以上的图,一张图也可以画在两页以上的纸上。o两个以上的图可以重叠在一张纸上。GPLOT过程的一般格式PROC GPLOT;PLOT requ
21、est-list;BY variable;SYMBOL;1.PROC GPLOT语句该语句的一般格式为:PROC GPLOT;该语句的常用选项有以下几类:oDATA=SAS-DATA-SET,指明所使用的数据集,缺省为当前数据集。oUNIFORM:当使用BY语句时,要求对这些BY组使用一致的刻度,以便比较。oNOMISS:将变量是缺失值的观测值排除在轴的计算之外,若无此选项,含有丢失之的观测虽然不能作点图,但是没有丢失的另一变量值在坐标轴中仍起作用。oVPERCENT|VPCT=percent-list:指定图形长度占一页长的纵向百分比。oHPERCENT|HPCT=percent-list:
22、指定图形长度占一页长宽的横向百分比。2.PLOT语句一般格式:PLOT request-list;。orequest-list规定作图变量以及在散点图用于画点的作图字符n垂直变量*水平变量:作图符号缺省形式n垂直变量*水平变量=字符:规定一个字符作为作图符号。n垂直变量*水平变量=变量:作图字符由变量给出。n垂直变量*水平变量=n:第n个SYMBOL语句定义的符号ooption-listnVAIXS(HAXIS)=tick-value-list(标志值列表)|BY n:定义沿垂直或水平方向坐标轴相等间隔的刻度标记值,这些值可以是均匀上升或下降的,也可以不是,可以用BY n规定刻度的增量。nVR
23、EF(HREF)=value-list:要求在纵轴(横轴)的一些规定的数上作水平(垂直)参考线。3 By语句一般格式为:BY variable;根据BY变量定义的观测组分别画出散点图。要求输入数据已按By变量排序的次序排列。4.SYMBOL语句一般格式为:SYMBOL;oValue|V=symbol:定义数据点的符号,有PLUS(+),是默认值;SQARE(方块);STAR(*)等oI=interpolation:定义数据点的连结方式,有JOIN(直线);SPLINE(光滑曲线)等oWIDTH|W=value:定义连线的宽度oCOLOR|C=color:定义颜色SYMBOL具有记忆性,一旦使用
24、了Symbol语句,系统就一直保持有效直到重新定义或定义一个空Symbol为止。GPLOT实例1odata student;oinput NAME$AGE SEX$HEIGHT WEIGHT SCORE;oCARDS;oLiPing 23 F 171 57 620oWangHua 18 F 162 56 578oZhangP 24 M 156 45 599oGaoKe 19 F 170 55 603oLiuLiu 21 F 155 48 579oPingPing 18 M 186 65 594oHuYi 16 F 156 48 615oQueHong 19 M 178 77 580oQinYi
25、n 20 F 167 69 578oShiLei 22 F 154 42 588o;oproc gplot;oplot height*weight/vaxis=150 to 180 by 10 haxis=40 to 70 by 10;osymbol1 v=b;orun;GPLOT实例2odata cos;odo x=0 to 360 by 30;o y=cos(x*3.14/180);o output;oend;orun;oproc gplot;oplot y*x=1/HMINOR=0 VMINOR=0;osymbol1 I=SPLINE;orun;GPLOT实例3odata ad;oinp
26、ut sales knowrate adexpend;ocards;o82 50 1.8 o80 40 1.8o80 40 1.8o46 45 1.2 o17 15 0.4o21 15 0.5o112 70 2.5 o105 75 2.5o65 60 1.5o55 40 1.2o80 60 1.6o43 25 1.0o79 50 1.5o24 20 0.7o30 30 1.0o11 5 0.8o;oproc gplot;o symbol;o plot sales*knowrate/haxis=0 to 80 by 20 vaxis=0 to 120 by 20;o symbol v=star;
27、orun;oproc sort;o by adexpend;orun;oproc gplot;o plot sales*adexpend/haxis=0 to 3 by 0.5 vaxis=0 to 120 by 20;o symbol v=star i=spline c=red width=2;orun;6.5 GCHART过程GCHART产生的图形由三个因素决定:o图形表示方法的选择:垂直条形图(VBAR)、水平条形图(HBAR)、块形图(BLOCK)、饼形图(PIE)、星图(STAR)o汇总统计量的选择:频数(TYPE=FREQ)、百分数(TYPE=PCT)、累计频数(TYPE=CFRE
28、Q)、累计百分数(TYPE=CPCT)、总和(TYPE=SUM)、平均值(TYPE=MEAN)o分组特性的选择:用于分组的变量选项DISCRETE、用于并排分组的选项GROUP=、用于分子组的选项SUBGROUP=、对连续变量用区间中点定位的选项MIDPOINTS=、选项SUMVAR=规定收集对均值、总和、或频数的汇总变量GCHART过程的一般格式PROC GCHART;必选的语句 BY variable-list;可选的语句 VBAR variable-list以下至少选其一 HBAR variable-list BLOCK variable-list PIE variable-list S
29、TAR variable-list GCHART过程的语句说明1.PROC GCHART;其后的选项主要是指定作图所用的数据集,默认为最新的数据集。2.VBAR、HBAR、BLOCK、PIE和STAR语句:这几个语句的格式、选项和用法基本相同,仅以VBAR为例说明。VBAR variable-list 该语句表示根据给定的变量作垂直条形图,在垂直轴上可描述频数、累计频数、百分数、累计百分数、均值。在每一直条的下面是指定的变量的值。对于字符或离散型变量,该值为实际值,对于连续数值变量,该值表示间隔的中间值。标准选项VAXIS(HAXIS)=tick-value-list|BY n:定义沿垂直或水
30、平方向坐标轴相等间隔的刻度标记值,BY n规定刻度的增量。DISCRETE:用来指明数值图表变量是离散的而不是连续的,默认为所有数值都是连续的。如果没有规定MIDPOINTS或LEVELS,过程自动选择图表的间隔。LEVELS=number:规定连续变量所作图形的个数。MIDPOINTS=value:通过规定每个图表或线段表示的区间中点来定义图表变量的变化范围。当没有规定该选项时,系统将自动选择图形的间隔。SUMVAR=variable:按指定的变量分组求和、均值或频数。当与TYPE连用时,若TYPE规定的不是MEAN、SUM时,将对SUMVAR指定的变量求和,TYPE的规定将无效。TYPE=
31、statistic:规定图形代表的统计量的值。缺省时为FREQ,当规定了选项SUMVAR,缺省时为SUM。用于VBAR、HBAR和BLOCK的选项 GROUP=variable:产生并排的图表,每个图表代表GROUP变量含有的已知值的一组观测。SUBGROUP=variable:用不同字符对每个条图按SUBGROUP变量对该条图贡献大小细分为几部分。GCHART实例1odata student;oinput NAME$AGE SEX$HEIGHT WEIGHT SCORE;oCARDS;oLiPing 23 F 171 57 620oWangHua 18 F 162 56 578oZhangP
32、 24 M 156 45 599oGaoKe 19 F 170 55 603oLiuLiu 21 F 155 48 579oPingPing 18 M 186 65 594oHuYi 16 F 156 48 615oQueHong 19 M 178 77 580oQinYin 20 F 167 69 578oShiLei 22 F 154 42 588o;oproc GCHART;ovbar sex;ovbar sex/group=age;ovbar sex/sumvar=age;orun;GCHART实例2odata gdp;oinput year$property$gdp;ocards;o
33、2000 first 14628.2o2000 second 44935.3o2000 third 29878.7o2001 first 14609.9o2001 second 49069.1o2001 third 32254.3o2002 first 14883.0o2002 second 52982.4o2002 third 34533.2o;oproc gchart;oblock year/subgroup=property sumvar=gdp;orun;GCHART实例3ooptions ls=78 ps=60;odata sales;oinput dept$sex$wt p82 p
34、83 p84 p85 p86 p87;oyear=1982;sales=p82;output;oyear=1983;sales=p83;output;oyear=1984;sales=p84;output;oyear=1985;sales=p85;output;oyear=1986;sales=p86;output;oyear=1987;sales=p87;output;olist;ocards;oparts f 17 3500 2500 800 900 1100 2340oparts m 21 3651 5391 4500 2301 4360 2357oparts m 21 2644 350
35、0 3000 4500 3240 1789otools f 12 5672 6100 7400 6789 5432 3569otools m 45 1253 4698 9345 3489 2319 4298orepairs f 2 9050 12062 15931 12890 8290 9980orepairs m 8 8941 9432 16837 13489 8756 8990orepairs m 16 9550 10350 14810 15340 9877 9880 o;oproc print;run;oproc gchart;o vbar year/sumvar=sales;o vba
36、r year/subgroup=dept sumvar=sales;o vbar year/subgroup=dept sumvar=sales discrete;orun;oproc gchart;o hbar dept/sumvar=sales group=year discrete;orun;6.7 图形界面的图形制作o基于Analyst的图形制作n进入SAS/Analyst模块,打开需要分析的数据集n直方图:选择主菜单“Graphs-Histogram”n柱形/条形图:选择主菜单“Graphs-Bar Chart”n箱型/盒型图:选择主菜单“Graphs-Box Plot”n概率图:选择主菜单“Graphs-Probability Plot”n散点图:选择主菜单“Graphs-Scatter Plot”n等高线图:选择主菜单“Graphs-Contour Plot”n曲面图:选择主菜单“Graphs-Surface Plot”o基于Assist的图形制作n进入SAS/Assist模块,进入Graphics子菜单n饼图:按“Pie Chart”n折线图:按“PLOTS