sas系统和数据分析proc步中的通用语句(编辑修改稿)内容摘要:
和产生用户化的行标题和列标题。 2. PROC TABULATE 语句格式 在 PROC TABULATE过程中, 常常使用一些控制汇总报表产生的语句,一般过程形式如下: PROC TABULATE 选项列表。 CLASS 分类变量列表。 VAR 分析变量列表。 TABLE 页表达式, 行表达式, 列表达式 /表选项。 LABEL 变量 1=“标签 *内容 ” 变量 2=“标签 *内容 ”……。 KEYLABEL 统计量名字 1=“标记 1” 统计量名字 2=“标记 2”……。 FORMAT 变量输出格式。 WHERE 条件表达式。 … … Run。 873cd3f49b1c15ae658a04021af7cebe SAS 系统和数据分析 电子商务系列 上海财经大学经济信息管理系 IS/SHUFE Created by Page 12 of 28 PROC TABULATE 语句总是伴随着 至少一个 TABLE语句 来规定如何制表。 用在 TABLE语句的分类变量必须用 CLASS 语句说明。 用在 TABLE 语句的分析变量必须用 VAR 语句说明。 同时出现在 CLASS 语句和 VAR 语句中的变量,只能作为分类变量使用。 CLASS、 VAR和 TABLE 语句是构成 PROC TABULATE 过程最基本的三条语句。 3. PROC TABULATE 的选项 PROC TABULATE 的选项列表包含许多选项,选项之间以空格分隔,几个主要的选项说明如下: DATA=数据集名 ——给出要制表输出的 SAS数据集。 如果省略,则为最近建立的SAS 数据集。 NOSEPS——要求在表体中不出现水平分隔线。 FORMCHAR(索引表 )=‟字符串 ‟——规定用来构造报表轮廓和分隔线的字符。 字符串为 11 个制表字符,用来定义画垂直和水平线的 2个字符,及画 9个角字符:左上、中上、右上、左中、中中(交叉)、右中、左下、中下、右下。 缺省值是FORMCHAR=‟||+|‟。 如果要改变边角线,例如想把 4 个角换成 *,则可使用FORMCHAR(3 5 9 11)=‟* * * *‟,如果 FORMCHAR=选项赋了 11 个空格,则生成没有边框和分隔线的报表。 MISSING——要求把丢失值作为分类变量的有效水平。 即汇总时包含分类变量中有丢失值的观测。 4. TABLE 语句的使用和输出表格结构 如何正确地理解和使用 TABLE语句是掌握 PROC TABULATE过程的关键所在。 汇总报表输出的表格形状和所计算的统计量都是由 TABLE 语句中的表达式决定的,这个表达式中包含元素和操作符。 元素指分类变量、分析变量和统计量,当表达式包含多个元素时,需要用操作符把它们连接起来。 使用不同的操作符连接会产生不同的表格形状。 下面列 出一些主要的操作符及其作用: TABLE 表达式中的操作符 作用 逗号 , 转另一维 空格 表格并排连接 星号 * 交叉组合分组 圆括号 ( ) 分组或规定次序 为了便于理解 TABLE 表达式中操作符的作用,我们举一个假设的例子来说明。 有 SAS数据集 ABCX,其中有四个变量 A、 B、 C 和 X,变量 A、 B、 C 我们将在 PROX TABULATE过程中用 CLASS 语句定义为分类变量,我们可以理解为它是一个产品的大类 A、中类 B 和小类 C。 而 X变量是一个数值型变量,用 VAR 定义为分析变量,我们可以理解为它是一个产品的销售数量或收入金额或价格等。 假设的数据集 ABCX 可能的数据值如下表所示: 873cd3f49b1c15ae658a04021af7cebe SAS 系统和数据分析 电子商务系列 上海财经大学经济信息管理系 IS/SHUFE Created by Page 13 of 28 变量名 TABLE 中的变量类型 可能的数据值 A 分类变量 A1, A2 B 分类变量 B1, B2 C 分类变量 C1, C2, C3 X 分析变量 111~ 223 ABCX 数据集中的具体观测值见下表所示: OBS A B C X 1 A1 B1 C1 111 2 A1 B1 C2 112 3 A1 B1 C3 113 4 A1 B2 C1 121 5 A1 B2 C2 122 6 A1 B2 C3 123 7 A2 B1 C1 211 8 A2 B1 C2 212 9 A2 B1 C3 213 10 A2 B2 C1 221 11 A2 B2 C2 222 12 A2 B2 C3 223 下面我们给出分析变量 X 和分类变量 A、 B、 C 组成的有效表达式的输出报表格式。 例 1: TABLE 表达式中只有一个分类变量 A,既没有规定分析变量,也没有指明统计量,则缺省的统计量为频数 N,即分类变量值的交叉频数。 程序和输出汇总报表形式 如下所示: Proc tabulate Data=ABCX。 Class A。 Var X。 Table A。 Run。 A A1 A2 N N 6 6 例 2:使用逗号操作符隔开 TABLE语句的两个表达式将产生一个两维表格,第一个表达式定义行,第二个表达式定义列。 程序和输出汇总报表形式如下所示: Proc tabulate Data=ABCX。 873cd3f49b1c15ae658a04021af7cebe SAS 系统和数据分析 电子商务系列 上海财经大学经济信息管理系 IS/SHUFE Created by Page 14 of 28 Class A B。 Var X。 Table A , B。 Run。 B B1 B2 N N A 3 3 A1 A2 3 3 例 3:使用两个逗号操作符隔开 TABLE 语句的三个表达式将产生一个三维表格,第一个表达式定义页,第二个表达式定义行,第三个表达式定义列。 程序和输出汇总报表形式如下所示: Proc tabulate Data=ABCX。 Class A B C。 Var X。 Table A , B , C。 Run。 第一页 A A1 C C1 C2 C3 N N N B 1 1 1 B1 B2 1 1 1 第二页 A A2 C C1 C2 C3 N N N B 1 1 1 B1 B2 1 1 1 例 4:使用空格操作符隔开 TABLE语句的两个表达式将产生一个连排表格。 程序和输出汇总报表形式如下所示: 873cd3f49b1c15ae658a04021af7cebe SAS 系统和数据分析 电子商务系列 上海财经大学经济信息管理系 IS/SHUFE Created by Page 15 of 28 Proc tabulate Data=ABCX。 Class A B。 Var X。 Table A B。 Run。 A B A1 A2 B1 B2 N N N N 6 6 6 6 例 5:使用星号操作符隔开 TABLE语句的两个表达式将产生一个交叉等级表格。 程序和输出汇总报表形式如下所示: Proc tabulate Data=ABCX。 Class A B。 Var X。 Table A *B。 Run。 A A1 A2 B B B1 B2 B1 B2 N N N N 3 3 3 3 例 6:使用含有圆括号、空格和星号操作符的复合表达式。 在复合表达式中,交叉操作符星号优于连接操作符空格,但可以使用圆括号操作符来改变它们的次序,如( A B) *C表达式相当于 A*C B*C。 程序和输出汇总报表形式如下所示: Proc tabulate Data=ABCX。 Class A B C。 Var X。 Table ( A B) *C。 Run。 A B A1 A2 B1 B2 C C C C C C C C C C C C C C C C873cd3f49b1c15ae658a04021af7cebe SAS 系统和数据分析 电子商务系列 上海财经大学经济信息管理系 IS/SHUFE Created by Page 16 of 28 1 2 3 1 2 3 1 2 3 1 2 3 N N N N N N N N N N N N 2 2 2 2 2 2 2 2 2 2 2 2 5. 汇总报告中计算统计量 在 TABLE 语句中使用星号操作符连接分析变量和统计量,如 TABLE A*X*MEAN,其中 A 是分类变量, X 是分析变量, MEAN 是统计量,则可以对指定的分析变量 X 计算指定MEAN 统计量。 在 TABLE语句中如果没有规定分析变量,则 N 或 PCTN(频数 N 的百分数)可作为统计量使用,如 TABLE A*N 或 TABLE A*PCTN。 如果 TABLE 语句中规定了分析变量,但没有指定统计量时,如 TABLE A*X,则 SUM作为统计量。 如果 TABLE 语句中既没有出现分析变量如 X,又没有出现统计量如 MEAN,例如上面的例 1~ 6 中的 TABLE 语句都没有规定分析变量和统计量,如 TABLE A 语句只规定了分类变量 A,则每个表单元将给出分类变量的交叉频数。 在 TABLE 语句中如果规定了分析变量,则可以要求计算下表所示的一个或几个统计量。 统计量 作用 N 确定的子组中含有有效数据的观测数 NMISS 确定的子组中含有缺失值的观测数 MEAN 算术 平均 STD 标准误差 MIN 最小值 MAX 最大值 RANGE 极差(取值范围) SUM 总和 USS 未修正的平方和 CSS 关于均值修正的平方和(也称偏差平方和) STDERR 均值的标准误差 CV 变异系数 T 检验总体均值为 0 假设时, t 统计量的值 PRT 显著性概率(大于 t 统计量绝对值的概率) VAR 方差 SUMWGT 权数变量的和 PCTN 某一类中某一小类观测所占的百分比 PCTSUM 某一类观测在全部观测中所占的百分比 多个分析变量和多个统计量能够出现在 同一维中,也可以出现在不同的维中。 但是所有的分析变量必须出现在某一维中,所有的统计量也一样必须出现在同一维中。 不能用一个分析变量同另一个分析变量交叉,统计量之间也不能交叉。 例如,下面两条语句都是合法的: TABLE A*( X*MEAN X*MAX), B 873cd3f49b1c15ae658a04021af7cebe。sas系统和数据分析proc步中的通用语句(编辑修改稿)
相关推荐
电子商务系列 上海财经大学经济信息管理系 IS/SHUFE Created by Page 4 of 7 %宏名字(参数值)。 例如,我们定义了一个简单通用的宏程序 INVOKE,它有两个参数宏变量 proame 和dsname,用以传递给宏程序所需的过程名和数据集名。 在调用这个宏程序时要将具体的 参数宏变量值给出,其值分别为 Print 和。 程序如下: %MACRO INVOKE(
那么 SAS 系统自动地创建一些 SAS 数据集,并命名为 DATA DATA„这些数据集被存在 WORK 库中。 五、 SAS 数据集的索引 SAS 数据集可以用一个或几个被称为关键字变量的变量来索引。 SAS 索引根据用它们的值组成索引的关键字的个数多少而分为 : 简单索引 复合索引 1. 简单索引 简单索引是用一个关键变量的值来对观测定位指针。 这个关键变量可以是数值变量或字符变量
Data class4。 Set class2。 0e3194151c8f36e3d5fa7075bfdf439d SAS 系统和数据分析 电子商务系列 上海财经大学经济信息管理系 IS/SHUFE Created by Page 5 of 12 if total lt 450 then delete。 Proc print data=class4。 Run。 程序三: Data class4。
这是一种交互式菜单编辑方式,非常方便。 例如,在 PROGRAM EDITOR 窗口中输入的程序如下: Proc fsview data=。 Run。 程序提交后,进入 FSVIEW 窗口。 用户仍然可以在命令框中键入命令来编辑,如键入DROP 命令去掉不需要显示的变量(投影操作) 、 WHERE 命令获得子集(选择操作)及 WHERE ALSO 命令获得子集的子集。 FSVIEW过程与
[1] c(a, b, c)[rep(c(2,1,3), 3)] [1] b a c b a c b a c 二、取负整数值的下标向量 v为一个向量,取值在- length(x)到- 1之间,表示 扣除 相应位置的元素。 例如: x[(1:2)] [1] 三、取逻辑值的下标向量 v为和 x等长的逻辑向量, x[v]表示取出所有 v为真值的元素,如: x 输出: [1] x10 输出: [1]
set。 where date 39。 31mar202039。 d or revenue 50000。 run。 correct_answer = A SAS Warehouse Architect Concepts Item 1 A warehouse architect is trying to determine what data must be included in the