实验三 SAS基本内容

更新时间:2023-12-05 00:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课 时 授 课 计 划

课次序号: 05

一、课 题:实验三 SAS基本内容

二、课 型:讲授与上机实验

三、目的要求:

1. 掌握SAS软件的基本功能与基本操作方法;

2. 了解SAS软件的基本内容:数据的输入与输出,建立SAS数据集, SAS 系统数学运算符号及常用的SAS函数,逻辑语句与循环语句.

四、教学重点:SAS软件的基本功能与基本操作方法.

教学难点:SAS软件的基本操作方法.

五、教学方法及手段:传统教学与上机实验相结合.

六、参考资料:1.《实用统计方法》,梅长林,周家良编,科学出版社;

2.《SAS统计分析应用》,董大钧主编,电子工业出版社.

七、作业:补充练习

八、授课记录:

授课日期 班 次

九、授课效果分析:

实验三 SAS基本内容(3学时)

一、实验目的和要求

了解SAS软件的基本内容:数据的输入与输出,建立SAS数据集, SAS系统数学运算符号及常用的SAS函数,逻辑语句与循环语句.会建立SAS数据集,运行程序,分析结果.

二、实验内容

1.直接输入数据建立SAS数据集

在SAS程序窗口下,直接输入建立SAS数据集,基本语句:

DATA name ; /* 要建立的数据集名称*/

INPUT variables; /* 指明数据集变量名称,为不超过8字符的字符串*/ CARDS; /* 此句后面将读入数据 */

Data lines; /* 数据行,两个数据间用至少一个空格隔开;用格式化输入,则数据要按指定格式输入 */ ; /* 表数据输入结束 */ RUN; /* 程序运行 */

⑴ 自由输入建立SAS数据集

INPUT 变量名 <$> ?;

在INPUT后面依次列出变量名称,变量间至少一个空格,<>为可选项,变量名后输入$——代表字符型变量,如果数据中每行有多余一组观测值,可在INPUT variables后加@@,表示指针不换行读入各组观测值.

例如: INPUT ID NAME $ VAR1 VAR2 VAR3 VAR4; /* 输入 6个变量,序号变量ID、字符型变

量NAME及数值变量VAR1、VAR2、VAR3、VAR4 */

INPUT ID NAME $ VAR1 - VAR4; /* 6个变量名,NAME字符型*/

⑵ 格式化输入建立数据集

方式一 列输入:INPUT 变量名 <$> 开始列<- 结束列>?; 通过指定变量取值所占列数输入相应值.

在每个变量名后,空一格指出变量值占据的列数.

例如: INPUT ID 1-2 NAME $ 4-20 VAR1 22-24 VAR2 26-30; /* 4个变量名,将1、2列

的数值赋予变量ID,第4到20列字符赋予字符型变量NAME,22到24列数值赋予VAR1*/

方式二 格式化输入W.d格式:INPUT 变量名 <修饰符> 输入格式W.d?;

W——变量取值所占总列数,d——表示从右到左小数部分列数.此这种方式尤其适合于各变量间取值无空格、和无小数点的数据集.

例如 INPUT ID 2.NAME $ 10.VAR1 5.2; /* 前2列赋予ID,第3列开始10列内容赋予

非数值变量NAME,接下来5列赋予VAR1,最后两位为小数部分.*/

如果变量ID与NAME的值之间有三个空格,在读完ID的值后,指针从第3列跳到第6列开始读入NAME的值,应在ID2.后空一格写上@6(移到第6列)或+3(跳过3行),另外,数据间的空格也可并到变量值的位数中.

如果有连续几个变量的W.d格式相同,可用下列简写形式: INPUT (variables) (W.d);

如 INPUT (X Y Z)(2.1); INPUT (X1-X10)(2.)等. 例 8.1.1 设有数据集如下:LIMING 23 56 170 LIUHUA 25 60 174 ZHANGWEI 30 65 165

相应变量分别为NAME,AGE,WEIGHT和HEIGHT,输入数据以建立一个名为examp8_1_1的SAS数据集.

方法一:自由格式输入数据以建立数据集,完整的SAS程序:

data examp8_1_1; /* 建立数据集 examp8_1_1 */ input name $ age weight height; /* 输入变量 */ cards; /* 以下为数据行*/

LIMING 23 56 17 /* 数据和变量名对应,数据间用空格表示*/ LIUHUA 25 60 174 ZHANGWEI 30 65 165

; /* 数据行结束*/ run; /* 运行程序*/

proc print data=examp8_1_1; /*打印输出数据集*/ run; /* 运行程序*/

方法二:格式化输入:若上述程序中数据行的形式保持不变,数据之间空一格,只要INPUT语句修改即可

data examp8_1_1;

input name $ 1-8 age 10-11 weight 13-14 height 16-18;

/*或 input name $ 8.+1 age 2.+1 weight 2.+1 height 3.; */

/*或 input name $ 8. @10 age 2. @13 weight 2. @16 height 3.; */ /*或 input name $ 9. age 3. weight 3. height 3.; */ cards;

LIMING 23 56 170 LIUHUA 25 60 174 ZHANGWEI 30 65 165 ; run;

proc print data=examp8_1_1; run;

方法三:格式化输入:如将NAME取值中的姓和名用一空格分开,且HEIGHT的值表成具有两位小数的形式,如下

data examp8_1_1;

input name $ 9. +1 age 2. +1 weight 2. +1 height 3.2;

/* 或input name $ 9. @ 11 age 2. @ 14 weight 2. @ 17 height 3.2;*/ cards; /* name $ 9.说明NAME占9位,正好姓名之间有空格*/ LI MING 23 56 170 LIU HUA 25 60 174 ZHANG WEI 30 65 165 ; run;

proc print data=examp8_1_1; run;

方法四:格式化输入:如程序中数据集的变量之间无空格,且使height的变量值有2位小数的形式,可按如下

data examp8_1_1;

input name $ 9. age 2. weight 2. height 3.2;

/*或 input name $ 1-9 age 10-11 weight 12-13 height 3.2;*/ cards;

LI MING 2356170 LIU HUA 2560174 ZHANG WEI3065165 ; run;

proc print data=examp8_1_1; run;

注意:必须按照名字占够9位(位数不够输入空格),年龄占10-11列,weight占12-13列,height占14-16列来输入程序,变量之间无空格.

结果为 1 LI MING 23 56 1.70

2 LIU HUA 25 60 1.74

3 ZHANG WEI 30 65 1.65

注意:例8.1.1建立的SAS数据集只能保存在SAS程序中.调用被保存的SAS程序,加上进行分析的程序(如描述性分析程序),形成完整的程序,再在进行统计分析计算.

(3)建立永久数据集

用Libname语句建立SAS永久数据集(name.sas7bdat),基本语句:

Libname SAS数据库名“路径”; /*建立数据库引用名*/ Data 数据集名; /*新建数据集名:数据库.数据集*/ Input 变量名<$>?; Cards; ??; RUN;

例8.1.2将上例建立永久数据集保存在E:\\lixiaoyan目录下,集名examp8_1_1.sas7bdat. 程序:

LIBNAME lxy'E:\\lixiaoyan'; /* 新建立逻辑库引用名lxy,地址E:\\lixiaoyan,此地

址用逻辑库名lxy代替 */

DATA lxy. Examp8_1_1; /*建立数据集examp1_1_1,存此文件夹下,库引用名为lxy */ input name $ age weight height; cards; LIMING 23 56 17 LIUHUA 25 60 174 ZHANGWEI 30 65 165

; run;

proc print data=lxy.examp8_1_1; run;

则在E:\\lxy,生成数据集文件examp8_1_1.sas7bdat.

注意:10重新调入数据库文件examp8_1_1.sas7bdat:在重新打开的程序窗口输入 LIBNAME lxy'E:\\lixiaoyan'; PROC PRINT DATA=lxy. examp8_1_1; RUN;

即可调入数据库文件examp8_1_1.sas7bdat,并在输出窗口显示刚才的结果.

20 建立SAS逻辑库的方法

也可以先建好逻辑库,这样相应数据库中的数据集可以用Set命令直接调用 Set 逻辑库名.数据集名;

创建逻辑库步骤:

1.在“资源管理器”(Explorer)(左边视窗)窗口中,点“逻辑库(Library)”文件

本文来源:https://www.bwwdw.com/article/26bt.html

Top