240 likes | 459 Views
第三章 打印报表和绘制图形. 第三章 打印报表和绘制图形. 第一节 用在 proc 步的通用语句 第二节 列表报告和 汇总报告 (ods 简介 ) 第三节 绘制图形. 第一节 用在 proc 步的通用语句. PROC 程序的主要作用 读出已创建好的 SAS 数据集 用数据集中的数据计算统计量 将统计的结果按一定形式输出. PROC 过程名 < 选项 > ;. PROC 过程语句. PROC Means Data=class Maxdec=3 CSS l Keyword = 数据集 l Keyword= 数值 l Keyword.
E N D
第三章 打印报表和绘制图形 第一节 用在proc步的通用语句 第二节 列表报告和汇总报告 (ods简介) 第三节 绘制图形
第一节 用在proc步的通用语句 • PROC程序的主要作用 • 读出已创建好的SAS数据集 • 用数据集中的数据计算统计量 • 将统计的结果按一定形式输出
PROC 过程名<选项> ; PROC过程语句 PROC Means Data=class Maxdec=3 CSS lKeyword =数据集 lKeyword=数值 lKeyword
用在PROC步的通用语句 l过程信息语句 l变量属性语句 l可用在任何地方的全局语句 注: PROC中的大多数语句是特定过程特有的, 不通用
用在PROC步的通用语句 • VAR语句(变量语句) • VAR变量列表; (默认: 所有变量) • MODEL语句(模型语句) • MODEL 因变量列表=自变量列表</选项> ; • Model y1 y2= a b c d ; • WEIGHT语句(权数语句,某些算法使用) • WEIGHT 变量; • FREQ语句(频数语句,相同观测值的频数) • FREQ 变量;
用在PROC步的通用语句 • ID语句 (识别观测 ) • ID 变量列表; (默认: obs) • CLASS语句(分类统计) • CLASS 变量列表; • BY语句 (按BY变量排序 ) • BY <descending> 变量1 <…变量2> <NOTSORTED> ; • BY descending City Zipcode 按居住的城市(City)降序排列,同一城市中按邮编(Zipcode)的升序(默认)排列。
CLASS语句与BY语句的区别 • CLASS语句使用时,不要求数据集事先按CLASS指定的变量排序,按指定变量的不同值进行分类计算和分析后,输出的分类结果列在一张报表里。 • 而BY语句在使用时,要求数据集事先按BY指定的变量排序,且输出的结果也按分组列出许多报表 • 例 Chap3_1, Chap3_2(数据集须改为survey)
第二节 列表报告和汇总报告 • 列表报告proc print (列表) • 汇总报告proc tabulate (表格)
PROC PRINT <选项列表> ; VAR 变量列表; ID 变量列表; BY 变量列表; PAGEBY 变量; SUMBY 变量; SUM 变量列表; TITLEn “标题内容”; FOOTNOTEn “标题内容”; LABEL 变量1=“标签*内容”变量2=“标签*内容”…… ; FORMAT 变量输出格式; WHERE 条件表达式; …… Run ; 列表报告PROC PRINT过程 例3.3 Chap3_3.sas(不用format试试?) 例3.4 Chap3_4.sas
PROC PRINT的部分选项 • LABEL或L——使用变量的标签作为输出数据列表中每列的抬头。如果变量没有定义标签,则用变量名作为列抬头。 • NOOBS——不输出观测数据的序号。当不用ID语句且又不要输出观测的序号时,可使用该选项。 • ROUND或R——对用FORMAT语句规定变量的输出格式中的小数点位进行四舍五入。 • WIDTH=FULL或MIN或U或UBY——规定使用什么作为列宽。 • ROWS=PAGE——当数据集包含很多变量和观测时,使用此选项将在每一页中打印尽可能多的观测,能减少输出页数。
proc printto输出到外部文件 例子(由chap3_3.sas改编) • filename outp 'd:\sasdata\output.txt'; • proc printto print=outp new;run; • proc print data=study.survey noobs n split='*'roundwidth=min ; • run ; • proc printto;run;
汇总报告proc tabulate • PROC TABULATE过程的三要素 • 类变量——可以是数值型变量或字符型变量。分类的目的是为了在每一个类上进行计算和分析。 • 分析变量——一定是数值型变量。可以计算的一些统计量如:频数(frequency)、均值(mean)、标准差(standard deviation)等。 • 表的结构和格式——最多可以定义三个维度:第一维定义列,第二维定义行,第三维定义页。
PROC TABULATE <选项列表> ; CLASS 分类变量列表; VAR 分析变量列表; TABLE <<页表达式,>行表达式,>列表达式</表选项> ; LABEL 变量1=“标签*内容”变量2=“标签*内容”……; KEYLABEL 统计量名字1=“标记1”统计量名字2=“标记2”……; FORMAT 变量输出格式; WHERE 条件表达式; …… Run ; 汇总报告proc tabulate SAS9以后较少用
SAS9 的ODS • The Output Delivery System
SAS9 ods语句输出结果 • Output Delivery System • 任意位置均可使用. • 将本来在output窗口输出内容传到html, rtf, pdf等文件
data a; input x @@; cards; 1 1 2 2 2 ; run; ods listing close; ods html file='d:sasdata\tes.html '; proc freq data=a; tables x; run; ods html close; ods listing; ods例子
ods例子(由abc03.sas改编) ods listing close; ods pdf file='d:\sasdata\tmp.pdf'; proc means data=class;; run; ods html close; ods listing;
第三节 图形绘制过程 • PROC PLOT过程 (低分辨率) • PROC GPLOT过程(高分辨率) • PROC Gchart过程(条形图, 饼图等) • PROC g3d (空间图)
PROC PLOT过程(低分辨率) Proc Plot DATA=数据集 </选项列表> ; Plot 纵坐标变量Y*横坐标变量X……</选项列表>; Run ; • 产生在OUTPUT窗口 • VPCT=百分比列表——规定产生图形在垂直方向占一页的百分比。 • HPCT=百分比列表——规定产生图形在水平方向占一页的百分比。 • 例 3.13 Chap3_13 • Formchar(表格轮廓和分隔线,Page88)
PROC GPLOT过程(高分辨率) • 产生在GRAPH窗口 Proc Gplot DATA=数据集 ; Plot 纵坐标变量Y*横坐标变量X……</选项列表>; Symboln <选项列表> ; Axisn <选项列表> ; Run ; 例3.15 Chap3_15(hvxis改为haxis)
Proc Gchart 例3.20 chap3_20.sas
Proc G3d 例3.27 (曲面图)
图形编辑与保存 • 图形编辑窗口 edit current graph • Edit\COPY菜单 到WORD文档中去 • File/Export菜单命令输出图形 • 在程序中保存图形 Gout Proc g3d data=study.indexsh gout=study.mygraphs ;