当前位置:
文档之家› 第04章_SAS过程步与过程步语句
第04章_SAS过程步与过程步语句
4.1 SAS过程步的一般形式 过程步的一般形式
其他相关过程步语句: 其他相关过程步语句: 有VAR、ID、BY、CLASS、WEIGHT等 、 、 、 、 等 过程步语句。 过程步语句。 RUN语句: RUN语句: 语句 作用是通知系统开始执行本过程程序段, 作用是通知系统开始执行本过程程序段, 当一个程序文件中有几个过程时, 当一个程序文件中有几个过程时,它们可 共用一个RUN语句。 语句。 共用一个 语句
4.2.6 WEIGHT语句 语句
功能:在有些试验中的某一变量( 功能 : 在有些试验中的某一变量 ( 列 ) 的值表示 所 在DATA student;的 相 关 权 重 , 该 变 量 必 须 用 观测(行) INPUT curr$ x1-x7 wgt; WEIGHT语句来说明。 语句来说明。 语句来说明 CARDS; 格式:WEIGHT75 60 76 73 77 68 78 0.15 格式: English 变量 ; 说明: 说明: Chinese 80 70 81 82 83 78 84 0.35
4.1 SAS过程步的一般形式 过程步的一般形式
选项:以关键字为核心构成,常有三种形式: 选项:以关键字为核心构成,常有三种形式:
①关键字 在过程中,关键字代表该过程的某一特性, 在过程中,关键字代表该过程的某一特性, 若关键字作为选项出现, 若关键字作为选项,这一特性予以考虑。否则,忽略这一特性。 ②关键字=值 过程的某一特性可取不同的值,则指定 关键字= 过程的某一特性可取不同的值, 该特性的书写格式为: 该特性的书写格式为: 特性关键字= 数字或字符串)。 特性关键字=特性值 (数字或字符串)。 关键字=SAS数据集 有些过程需要特定的输入数据 ③关键字 数据集 有些过程可以建立一些特殊的数据集。 集,有些过程可以建立一些特殊的数据集。过程指定 特别输入输出数据集的选项书写格式为: 特别输入输出数据集的选项书写格式为: 关键字= 关键字=数据集名 如: PROC PRINT DATA=new
4.2.7 MODE语句 语句
功能: 功能 : 为一些统计分析过程指定所要进行分析的 模型形式, 模型形式 , 及给出模型包含的自变量和因变量的 个数以及变量名。 个数以及变量名。 格式:MODE 因变量表 自变量表 选项; 因变量表=自变量表 选项; 格式: 说明:其中因变量表中的变量个数等于要进行分 说明: 析的模型个数。 析的模型个数 。 自变量表给出模型包含的自变量 名及其自变量的运算组合。 名及其自变量的运算组合。 例如: X*X; 例如:MODEL Y=X X*X;
Math 66 88 67 77 59 57 92 0.30 在此语句中只能定义一个加权变量, 81 0.20 在此语句中只能定义一个加权变量,并以它的值作为 Agronomy 87 85 97 68 68 75 观察值的权值。本语句也叫作权重变量标识语句。 观察值的权值。本语句也叫作权重变量标识语句。 PROC MEANS MEAN STD; VAR 个学生的4门课程成绩进行综合评估, 例如: x1-x7; 例如 :对7个学生的4门课程成绩进行综合评估,不同 WEIGHT wgt; 课程权重不同,可用下列程序段实现: 课程权重不同,可用下列程序段实现: RUN;
Tabulate 将数据按指定的分类变量以表格的形式分类汇总 Means Freq 对指定的数值变量进行简单的统计描述 对指定的分类变量进行简单的统计描述
过程名 Ttest
功能 4.1 SAS过程步的一般形式 过程步的一般形式 对指定的变量做t检验 对指定的变量做 检验 对指定的变量做方差分析 对指定的变量做非参数检验 对指定的变量做回归分析 对指定的变量做相关分析 对指定的变量做判别分析 对指定的变量做聚类分析 绘出低分辨率的统计图 提供用户自定义的输出格式 对两个变量作的散点图或折线图
4.1 SAS过程步的一般形式 过程步的一般形式
一般形式: 一般形式:
PROC 过程名 选择项 选择项; [其他相关过程步语句 其他相关过程步语句;] 其他相关过程步语句 RUN;
说明: 说明:
PROC表示一个过程的开始; 过程名” PROC表示一个过程的开始;“过程名” 是指被调用的 表示一个过程的开始 常用过程或统计过程。不同的过程有专用过程名, 常用过程或统计过程。不同的过程有专用过程名,对 于同一过程,可供选择的选择项(参数) 于同一过程,可供选择的选择项(参数),给定不同 选择项 的参数,输出不同的计算结果和不同表格形式。 的参数,输出不同的计算结果和不同表格形式。
4.1 SAS过程步的一般形式 过程步的一般形式
常用的过程步名称及功能: 常用的过程步名称及功能:
SAS程序中涉及的过程多达几百种,实现统 程序中涉及的过程多达几百种, 程序中涉及的过程多达几百种 计功能时常用的过程也有数十种。 计功能时常用的过程也有数十种。
过程名 Sort Print 功能 将指定的数据集按指定变量排序 将数据集中的数据列表输出
4.2.3 BY语句 语句
4.2.4 CLASS语句 语句
功能:指定分类变量。 功能:指定分类变量。 在一些分组统计过程中, 在一些分组统计过程中 , 要对数据进行分类 处理,用该语句给出分类的依据变量名, 处理 , 用该语句给出分类的依据变量名 , 进行各 种组合处理。 种组合处理。 格式: 格式:CLASS 变量表 ; 说明: 说明: CLASS语句的作用类似于 语句 , 但 BY语 语句的作用类似于BY语句 语句的作用类似于 语句, 语 句要求先排序,另外二者之间的输出格式也不同。 句要求先排序 , 另外二者之间的输出格式也不同 。
4.2.5 FREQ语句 语句
功能:指定一个数值变量, 功能:指定一个数值变量,它的值表示工作数据集中观察 值重复出现的频数。 值重复出现的频数。 DATA height; 会截去小数部分, 若此变量不是一个整数,SAS会截去小数部分,只取 若此变量不是一个整数, 会截去小数部分 INPUT height number@@; 其整数部分。该变量通常称作频数变量, 其整数部分。该变量通常称作频数变量,该语句也叫频数 变量标识语句。 变量标识语句。 CARDS; 75 20 76 23 77 28 78 38 79 52 格式: 格式:FREQ 变量 ; 80 40 81 32 83 28 84 23 85 16 说明: 说明: PROC MEANS; 在某些试验中,同一观测值多次出现, 在某些试验中,同一观测值多次出现,这样在数据集 VAR height; 中 增 加 1 个 变 量 , 用 来number; 观 测 出 现 的 次 数 。 用 FREQ 记 录 每 一 FREQ语句可减少数据输入,加快计算。 语句可减少数据输入, 语句可减少数据输入 加快计算。 RUN;
4.3 通用的 通用的SAS语句 语句
RUN语句 语句
功能:可使前面的过程被执行。 功能:可使前面的过程被执行。一般一个过程步 的最后是一个RUN语句 , 也可几个过程步合用 语句, 的最后是一个 语句 一个RUN语句。 语句。 一个 语句 格式: 格式:RUN;
4.3 通用的 通用的SAS语句 语句
指出模型将包含自变量X 指出模型将包含自变量X的一次项和二次项
4.2.8 OUTPUT语句 语句
功能: 功能 : 用来将所在过程的结果输出到一个新的 SAS数据集中。 输出数据集可作为下一步处理的 数据集中。 数据集中 输入。 输入DATA new; 。
INPUT x y@@; 格式:OUTPUT OUT=数据集名 格式: 数据集名 CARDS; [统计关键字 变量名 ; 统计关键字=变量名 统计关键字 变量名]; 10 20 11 12 说明:统计关键字指明在新的数据集中包含的统 说明PROC UNIVARIATE; : VAR x y; 计量,变量名是给这些统计量所起的名字。 计量 , 变量名是给这些统计量所起的名字 。 对多 OUTPUT OUT=mydata MEAN=mx meany 个变量进行分析时,OUTPUT语句中统计关键字后 个变量进行分析时 , OUTPUT语句中统计关键字后 STD=stdx; 所跟变量名需要根据VAR 语句内所列变量的顺序, VAR语句内所列变量的顺序 所跟变量名需要根据 VAR 语句内所列变量的顺序 , RUN; 对应的一一列举,未列举者不予输出。 对应的一一列举,未列举者不予输出。
4.2.2 ID语句 语句
功能:指定用于区分不同观测的变量。 功能:指定用于区分不同观测的变量。 格式: 变量; 格式:ID 变量; 例 data; 说明: 说明:
input name$ sex$ age; 其中,变量是一个数据集变量,通常称为“ 其中,变量是一个数据集变量,通常称为“标 cards; 识变量” 不同的观测中该变量的值不同, 识变量 ” , 不同的观测中该变量的值不同 , 某些 aa f 34 ab 25 过程的输出结果与观测有关, 语句指定的变量 过程的输出结果与观测有关f,ID语句指定的变量 ba m 56 值用于区分不同观测;如果ID语句省略 语句省略, 值用于区分不同观测;如果 语句省略,则用观 bb m 21 测的序号来区分不同的观测。 测的序号来区分不同的观测。 proc print; id name; run;
data student; input bj$ xm$ yy gs; 功能:过程步将数据集数据按指定的变量以升序 功能 : 过程步将数据集数据按指定的变量以 升序 p=yy+gs; cards; 进行分组处理 。 1 aaa 89 91 格式: 变量; 格式:BY 变量; 2 bbb 70 88 例如:将学生的成绩输入,作为一个数据集, 例如:将学生的成绩输入,作为一个数据集,再用班级进 1 ccc 90 92 行分组。 行分组。 2 ddd 70 87 2 eee 85 83 proc print; proc sort; by bj gs; proc print; run;
第4章 SAS过程步与过程步语句 章 过程步与过程步语句