§
3.2 SAS程序的数据步
3.2.1 预备知识
SAS程序的语句从上一个语句结束处开始,以一个分号结束,可占多行。
3.2.2 数据步
以
- DATA语句 它的主要功能是:SAS数据集。DATA语句的一般形式如下:
DATA
数据集名;
- INFILE语句 用于从外部文件读入数据,必须出现在INPUT语句之前。它的主要功能是:
INFILE语句的格式如下:
INFILE
’外部文件的所在位置及名称’ 选项;
- CARDS语句 用于直接输入数据,标志着数据块的开始。格式如下:
- INPUT语句 用于向系统表明如何读入每一条记录。它的主要功能有:
INPUT语句的格式如下:
INPUT
变量名 [变量类型 起止列数]...;
方括号表示其中的内容为可选,如果不输入,系统会以默认值代替。
3.2.3 数据的两种输入方式
上面我们学到了
【直接输入方式】
实际上我们在第一章已经用到了直接输入方式,仍以那个程序为例,其中的数据步如下:
INFILE语句和CARDS语句,它们分别对应了两种数据输入的方式:
|
data temp;
|
命名将要建立的数据集为work.temp |
|
input x y@@;
|
要输入的变量为x、y,并且连续输入
|
|
cards;
|
直接输入数据,数据块开始
|
|
34 56 78 90 35 67 89 10 23 65 77 45
|
数据块
|
|
;
|
数据块结束
|
变量y后面的
@@表示数据可以在一行里连续读入,SAS默认按列来分隔变量,可是这里只有两个变量,输成两列数据太长,因此加上两个@@,SAS见到这个符号,在按变量名依次读取完数据后,不是跳到下一行,而是继续在该行读数据,直至本行结束或到达分号为止。
如果你对这段叙述无法理解,请去掉两个@@,重新运行一遍程序,看看LOG视窗中的提示都有些什么变化。
【外部文件读入方式】
如果刚才的数据已经事先输好,在硬盘上的“
C:\USER”文件夹内存为temp.dat文件,该文件内容如下(纯文本):
34 56 78 90 35 67 89 10 23 65 77 45
则我们可以输入程序如下:
| data temp; |
命名将要建立的数据集为work.temp |
| Infile ’c:\user\temp.dat’; |
指定外部数据文本文件名 |
| input x y@@; |
要输入的变量为x、y,并且连续输入
|
| Run; |
数据步结束,以上语句可以执行了 |
数据步以DATA语句开始,那么在哪里结束?在遇到run语句或另一个数据步/程序步时就结束了。
为什么程序的最后都要加一句run?这个问题还不太好解释,每一个程序应至少在最后有一个run语句,表明前面的所有语句可以提交运行了,如果没有这一句,SAS会以为你后面还有语句要输入,从而将一些非立即执行的语句保留在编译缓冲区中,等待后续命令发出后一起执行,这有时会把事情弄得很糟。出于减少麻烦的需要,建议大家养成在每一个数据步或程序步后都写上一句run的习惯。
Submit命令和run语句有什么区别?这是初学者最爱问的一个问题,也同样是一个难以回答的问题。简单地讲,run是程序语句,可在程序中多次出现,它表示前面的程序段已经全部写完,可以作为一个或几个整体提交运行了,而Submit则是SAS命令,只在最后程序运行的时候发出,表示将程序正式提交运行。如果你还不明白,那么我还是来给你打个比方,run语句是你对SAS说“我想让您做的就是这些了”,而Submit命令就是对SAS说“现在开始为我做这些事,好吗”,明白了吗?
【读入其他格式的数据文件】
除了以上的两种通过数据步创建数据集的方法,SAS还提供了一些其他的方式可以用来读入其他格式的数据文件。6.11版本以上的SAS可以利用FILE菜单上的import命令将其他格式的数据文件导入SAS系统,创建SAS自己的数据集。可以导入的数据文件格式有:dBase数据库,EXCEL工作表,LOTUS的数据库,纯文本的数据文件等。
导入的操作完全是对话式的,界面友好,简便实用。以下简单叙述导入的步骤,假如例1.1的数据输成一个dBASEIII数据库文件temp.dbf, 已经存放在"c:\user"下,要导入成数据集work.li1_1。选择FILE菜单上的import,弹出一个对话框,按照向导的提示进行下去。
1. 选择导入的数据格式,从下拉式菜单上选择DBF格式,单击NEXT按钮。
2. 给出数据文件的位置和文件名,在对话框中键入C:\USER\temp.DBF,或点BROWSE直接从上面选择文件,选好后单击NEXT按钮。
3. 选择导入的目的地,即指定要创建的数据集的名字和存放的数据库名,先在左面的对话框选择数据库名WORK(临时库),在右面的对话框键入数据集的名字li1_1,此名可任意起,少于8个字符,选择完后,单击FINISH按钮,就完成了此次操作。
这时已经建好了一个数据集,名为WORK.li1_1,与我们前面建立的数据集完全一致。
上一篇:SAS/ASSIST视窗简介 下一篇:统计图
共5页: 上一页 [1] [2] 3 [4] [5] 下一页