sas数据步课件(编辑修改稿)内容摘要:
IF表达式 THEN 语句 A; ELSE 语句 B; ( 3) IF语句 语句格式: IF 表达式; 50 (六)数据排序 语句格式: PROC SORT [DATA= ] [OUT= ]; BY [DESCENDING ] 变量名 … ; 51 (七)数据集纵向连接 语句格式: DATA 新数据集名; SET 原始数据集名 … ; 1.变量相同 所有待连接的数据集包含相同的变量,则连接后生成的新数据集也包含同样的变量。 2.变量不同 如果待连接的数据集包含有不同的变量,新数据集将包括所有的变量,并将没有数据的变量值定义为缺省值。 52 (八)数据集横向连接 语句格式: DADA 新数据集名; MERGE 原数据集名 ...; • 一对一合并 即将序号 OBS相同的两个或多个观测值合并为一个观测值,合并后新数据集的观测值个数与原始数据集中观测值个数最多的相等,观测值不足的则用缺省值代替。 • 匹配合并 参加合并的数据集首先按同一的BY变量分别排序 , 再将有相同 BY变量值的观测值合并成为新数据中的观测值。 用以排序的变量称为匹配变量。 53 华中科技大学公卫学院 流行病与卫生统计系 第三节 数据输出 54 用于数据输出的语句主要有 FILE语句; PUT语句; OUTPUT语句; LIST语句。 55 一、 FILE语句 作用 是定义一个外部文件作为当前的输出文件,以供 PUT 语句将数据输出到该文件中。 语句格式: FILE 文件说明 [选择项 ]; 56 文件说明 文件说明用来标识一个文件 , 有下列几种形式: 1. FILE ‘ 文件全名 ’ ; 标识文件的完整名字 , 包括盘符 、 路径及文件名 , 文件名括在单引号内。 2. FILE 文件逻辑名 ; 用文件逻辑名标识当前的输出文件。 使用前先通过 FILENAME语句把输出文件与它的文件逻辑名联系起来。 3. FILE LOG; 指定把 PUT语句产生的出行写到 SAS日志中。 LOG为 SAS数据步设臵的输出文件的缺省值。 4. FILE PRINT; 指定把 PUT语句的内容送到标准的 SAS打印文件中 , 即送到 OUTPUT窗口。 57 二、 PUT语句 在数据步中,输出信息可以使用 PUT语句。 当 PUT语句前有 FILE语句时,信息被送到由 FILE语句定义的外部文件中;当PUT语句前无 FILE语句时, 信息将输出到日志窗口。 语句格式: PUT [语句说明 ]; PUT语句的输出内容包括变量值和字符串。 58 ( 一 ) 变量说明 指明要输出的变量名及变量的输出格式。 与 INPUT语句相似, 变量输出格式包括列输出格式,列表输出格式(或自由格式)和定义格式,另外还可以使用指针控制方式输出。 59 例 1422 将数据集 CLASS中全部女生的数据输出 到 OUTPUT窗口。 DATA FEMALE; SET CLASS; FILE PRINT; IF SEX=‘F’ THEN PUT ‘NAME’ NAME ‘S 1: ’ S1 ‘S 2’ S2 ‘S 3’ S3; RUN; 60 NAME: YANJIN S1: 98 S2: 87 S3: 93 NAME: MALIN S1: 88 S2: 85 S3: 90 NAME: LIMIN S1: 87 S2: 93 S3: 90 输出结果: 三、 OUTPUT语句 OUTPUT语句的作用是把当前的观测值写入正在建立数据集中。 简单的 SAS 数据步并不需要 OUTPUT语句 , 因为系统会自动将当前输入的观测值输出到正在建立的数据集中。 只有在下面三种情形下 , 才会用到 OUTPUT语句以控制观测值的输出。 〃 从一个输入数据行创建多个观测值; 〃 从一个输入数据文件创建多个 SAS数据集; 〃 将多个观测值合并成一个观测值。 61 语句格式: OUTPUT [数据集名表 ]…… ; 该语句的作用是将当前观测值输入到语句所规定的数据集中。 OUTPUT语句可以给出多个数据集的名字 , 所有给出的数据集名一定要在 DATA语句中定义过;如果语句后未规定数据名 , 则当前观测值被写到程序正在建立的所有数据集中。 62 (一)从一个输入数据行创建多个观测值。 例 1423 某班学生的考试成绩,有姓名及两个科目的考试分数。 要求用这批数据建立一个 SAS数据集,每个姓名后只有一个科目的成绩, 即对于每一个输入行要产生两个观测值。 63 DATA REPEAT; INPUT NAME $ S1 S2 ; DROP S1 S2 ; S=S1; OUTPUT; S=S2; OUTPUT; CARDS; WANGBO 97 95 LIMIN 88 90 CHENRYN 75 86 PROC PRINT; RUN; OBS NAME S 1 WANGBO 97 2 WANGBO 95 3 LIMIN 88 4 LIMIN 90 5 CHENYIN 75 6 CHENYIN 86 (二)从一个输入数据文件创建多个 SAS数据集 例 1424 将数据集 CLASS分成男生和女生两个数据集。 DATA CLASS1 CLASS2; SET CLASS; IF SEX=‘M’ THEN OUTPUT CLASS1; ELSE OUTPUT CLASS2; RUN; 数据集 CLASS1包含男生的各科目成绩,数据集 CLASS包含女生的各科成绩。 64 三)将多个观察值合并成一个观测值 例 1425 利用前例中包含学生科目成绩的数据集REPEAT, 建立一个只包含每个学生总成绩数据集。 PROC SORT DATA=REEPEAT; BY NAME; DATA TOS; SET REPEAT; BY NAME; IF FIRST. NAME THEN SUMS=0; SUMS+S; DROP S; IF LAST. NAME THEN OUTPUT; PROC PRINT; RUN; 65 OBS NAME SUMS 1 WANGBO 192 2 LIMIN 178 3 CHENYIN 161 四、 LIST语句 LIST语句又称列表语句。 它的作用是将当前的输入数据行输出至 LOG窗口,并在输出的数据前面显示出列标尺,以便检查输入的数据是否有错误。 66 四、 LIST语句 LIST语句又称列表语句。 它的作用是将当前的输入数据行输出至 LOG窗口,并在输出的数据前面显示出列标尺,以便检查输入的数据是否有错误。 67 华中科技大学公卫学院 流行病与卫生统计系 SAS常量、变量、运算符与函数 68 SAS语言和 SAS程序 常量 69 数值常量由数字 0~9、小数点、正负号和E等符号组成。 例如: 12 23 ( 108) 数值常量的缺省值用 “ ”来表示。 2.字符常量 字符常量由 1~ 200个字符组成。 在赋值语句中,字符常量要用定界符单引号或双引号括起来。 字符常量的缺省值用空格表示。 70 3.日期、时间和日期时间常量 该型常量必须用单引号括起,后续一个 D( Date)、 T(Time)或 DT( DateTime)表示其类型。 ‘8JAN1999’D 表示日期值 ‘10:45’T 表示时间值 ‘8JAN99:9:25:14’DT 表示日期时间值 例: 变量命名 :变量名由英文字母或下划线‘ ’开头,后续 1~8个字符组成。 一些特殊字符(如#, $,@等)不能出现在变量名中。 SAS系统还规定了一些特殊的变量名,例如: _N_, _ERROR_ 变量特性 变量类型:有数值型、字符型和日期型三种。 字符型变量在定义时,变量名后面加一‚ $‛ 号表示。 变量长度:指存储变量值的字节数,可用 LENGTH语句定义。 缺省值是 8个字节。 变量输入输出格式 71 变量 命名方式 顾名思义(即根据英文单词来命名) sex name age height weight etc. 顺序变量 temp1, temp2, temp3, temp4 和 temp5 x1, x2, ... X10 var1, var2, ... Var10 72 data d; input id age temp1temp5; temp=sum( of temp1temp5) / 5; label age =‘age in years’ temp =‘Average temperature’; cards; (数据) run; SAS变量的类型 数值变量( interval variable) 变量的值不含字符 字符变量( norminal , categorical variable) 变量的值含有字符 日期时间变量( date, time variable) 值为日期时间 73 输入输出格式 输入 用 SAS程序将原始数据转变成 SAS系统认可的 SAS数据 输出 将 SAS系统里的 SAS数据调出来,完成某指令或任务 输入格式 是输入原始数据前,用户告诉系统每个变量的类型,字符长度或数据所在的位臵等信息 输出格式 输出数据时用户希望得到的数据形式 74 数值变量 常用的输入或输出格式符号是: 或 w. w 表示变量的字符长度, d 表示变量中小数的位数 Height age 2. 字符变量 常用的输入或输出格式符号是 $w. 例如 SEX $1. 日期变量 常用的输入或输出格式符号是 YYMMDDw. 或 DDMMYYw. 或 MMDDYYw. 或 DATEw. w 表示日期变量中字符的长度 yymmdd8. date8. mmddyy6. 75 *注意 SAS的时间表示 SAS的时间输出格式 注意,当输出时间变量时,输出格式用yymmdd10. 或 date10. 或不用输出格式,其输出的结果形式是完全不一样的。 例如, 20202020的输出结果分别是 20201220, 20DEC2020 和18616。 对于日期变量,如果输出时不给出输出格式,那么输出结果是一个按日排列得到的常数。 SAS系统规定 1960年 1月 1日等于 1,然后以此类推。 例如,1959年 1月 1日等于 365, 1979年 1月 1日等于常数 6940。 76 77。sas数据步课件(编辑修改稿)
相关推荐
” ● 拿出一张纸记下经理询问的事项。 同时,开始列出为得到有用的估算必须回答的一系列问题。 如果经理急于得到他提出的问题的答案,你就提出一些他五幅大的问题。 这能帮助经理理解,因为还有许多未知问题的存在,现在还不能做出一个估算。 ● 如果上面两种策略都失败,那你可以想出一个乐观的猜想,然后 x2 作为回答他的答案,并提出各种可能使估计发生偏差的因素。 这虽然不是什么理性的估算
事先通过员工自助服务系统提交休假申请及相关假期支持文件,经公司领导批准后方可休假。 员工未获批准而自行休假的,按旷工处 理。 如遇突发事件,不能事先请假的,需要在上班前电话通知部门负责人或人力资源部。 除特殊规定外,在假期结束后返回公司工作的第一天,需要在员工自助服务系统中补休假申请。 员工休假未按规定提供相关支持文件的,按无薪假处理。 需要扣除工资的假期如无薪假、医疗期病假及旷工天数
证猜想 1 = 21213131a ab b1 1 1 1 1 1( ) ( )2 3 5 2 5 3 你又发现了什么规律。 1 1 1 1()2 3 5 3 0 1 1 1 1()2 5 3 3 0 因为 也就是 验证猜想 2 1 1 1 1()2 3 5 6 这是什么规律。 1 1 1 1 1 1 12 5 3 5 1 0 1 5 6
操作 【 例 】 求所有职工的工资都多于 3210元的仓库的平均面积 sele avg(面积 ) as 平均 from 仓库 where 仓库号 not in。 (sele 仓库号 from 职工 where 工资 =3210) 注意 : 以上结果包含了尚没有职工的 CK4仓库 ,如果要排除没有职工的仓库 ,以上语句应改为 : sele avg(面积 ) as 平均 from 仓库 where
,两层中间为真空 ,放大后如图 3 所示 ,双层间的真空作用是什么 ? , 为增加对阳光的吸收率 ,太阳能热水器均有吸收太阳光的涂层 ,涂层应涂在 处。 图 1 图 2 图 3 (2020 山东潍坊质检 ,31~43)七、 (21 分 )广泛了解古今中外文化 ,有助于提高我们的人文素养。 41.(2 分 )一位参观 “世界文明珍宝展 ”的文物爱好者 ,想依次观赏下列展品 :木乃伊、达
统筹合理的方案,制定最优化的方案。 休闲农庄是个特殊的产品根据 愉悦仙居 生态休闲 农庄的经营模式可以在第一期建设完工后就可以投入使用,一边经营一边施工第二阶段的工程 ,这不紧缩短了施工与经营的周期,还缩小了周转的资金量; 引进策略 是引进国内外大型休闲农庄的先进的经营模式改进发展,打造品牌; 就是 引进其强,想我之新 , 简单的说是引进别家先进,再创新发展,形成自我独特的一面