SAS统计(网) 下载本文

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 用光滑的曲线连接。

17

1. NEEDLE 向横坐标画垂线。 2. RL 添加回归直线。

? ?

WIDTH=宽度 定义数据点和连线的宽度。 COLOR=颜色 定义数据点和连线的颜色。

4.2.3 应用实例

例4.2 10名20岁男青年身高(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 数据步开始,指定要建立的数据集为a库的

data a.wt5_2;

wt5_2

input x y @@; 输入的变量为x和y,采用连续输入的格式 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

绘出散点图,用于绘图的变量为x,y,坐标

plot y*x/ ctext=blue;

轴文本颜色为蓝色

symbol value=star color=pink width=2; 定义散点标记为粉红色星号,大小为2 run; 开始运行以上程序

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

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

18

第五章 定量资料的统计描述和t、u检验

从本章开始,我们将正式开始使用SAS解决我们的统计问题。从前面的几章可知,SAS的主要功能是由不同的程序步来体现的。因此在以后的各章中,我们将对每种问题重点介绍一些常用的程序步,以及它们的输出结果的解释。

对于定量资料的统计描述和简单推断,SAS提供了三个强有力的程序步,它们是:

? ? ?

UNIVARIATE过程 提供单个变量的详细描述和对其分布类型的检验。

MEANS过程 提供单个或多个变量的简单描述,对于多个变量,它的输出格式紧凑,便于阅读。

TTEST过程 对变量进行t/u检验。

§5.1 引 例

例5.1 文本文件“C:\\USER\\WTLI1_1.DAT”中已存入某市110名7岁男子童的身高资料(cm) ,请计算均数

、标准差s、变异系数CV(卫统第三版p6例2.1)。

解:该题应首先用数据步建立一个数据集,然后调用UNIVARIATE过程或MEANS

过程来求出所需要的统计量。具体的程序如下: ① 设定数据库环境: LIBNAME A 'C:\\USER'; ② 数据步,建立数据集:

DATA A.WTLI1_1; INFILE 'C:\\USER\\WTLI1_1.DAT'; INPUT X @@; RUN; ③ UNIVARIATE或MEANS过程,求出所需要的统计量: PROC UNIVARIATE DATA=A.WTLI1_1; VAR X; RUN; PROC MEANS DATA=A.WTLI1_1 N MEAN STD CV ; VAR X; RUN; 例5.2 某医生测得18例慢支炎患者与16例健康人的尿17酮类固醇排出量 (mg/dl)分别为X1和X2,问两者均数是否不同(医统第二版P19例2.17)?

19

解:这是成组设计的两样本均数比较的t检验,程序应首先建立数据集,然后调用TTEST过程进行检验,在检验的同时也可以得到两个样本的简单描述。 ① 设定数据库环境: LIBNAME A 'C:\\USER';

② 数据步,建立数据集,这里采用直接输入数据的方法:

DATA A.YTLI2_17; INPUT GROUP VALUE @@; CARDS; 1 3.14 1 5.83 1 7.35 1 4.62 1 4.05 1 5.08 1 4.98 1 4.22 1 4.35 1 2.35 1 2.89 1 2.16 1 5.55 1 5.94 1 4.4 1 5.35 1 3.8 1 4.12 2 4.12 2 7.89 2 3.24 2 6.36 2 3.48 2 6.74 2 4.67 2 7.38 2 4.95 2 4.08 2 5.34 2 4.27 2 6.54 2 4.62 2 5.92 2 5.18 ; RUN; ③ TTEST过程,进行两样本的t检验。 PROC TTEST DATA=A.YTLI2_17; VAR VALUE; CLASS GROUP; RUN; §5.2 UNIVARIATE过程

Univariate过程对数值变量给出比较详细的变量分布的描述,其中包括:

? ? ? ? ?

变量的极端值。

常用的百分位数,包括四分位数和中位数。 用几个散点图描绘变量的分布。 频数表。

确定数据为正态分布的检验。

5.2.1 语法格式

Univariate过程的语法格式如下:

PROC UNIVARIATE [ DATA= <数据集名> [选指定要分析的数据集名及选项 项] ]; [ VAR <变量名列> ; 指定要分析的变量名列 20