欢迎来到天天文库
浏览记录
ID:33052266
大小:107.15 KB
页数:3页
时间:2019-02-19
《sas系统应用教程教案讲义chapter13》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第十三课PROCTRANSPOSE转置数据集一、转置数据集的概念在对数据库的操作屮,有时需耍把数据库的行和列进行交换,也町称转置。SAS系统屮TRANSPOSEht程能完成对SAS数据集的转置,即把观测(行)变为变量(列),变量变为观测。该过程从读入的一个数据集中创建一个新的数据集。新数据集中包含三类变虽:•一是由输入数据集中的观测转置后创建的新变量,又称转置变量,如_NAME_、COL1、COL2、COL3……•二是从输入数据集中拷贝过来的变量,使用COPY语句定义这个变量,新数据集中COPY过来的变量与输入数据集中的变量具有相同的名字和值•三是为了识别
2、新数据集中每条观测的来源用ID语句定义的变量值作为新数据集创建的新变量二、使用PROCTRANSPOSE过程转置数据集1.用于TRANSPOSEj!程的常用语句ProcTranspose3、ata=CLASSOut=NEWCLASS;VarTESTITEST2TEST3;Run;转査住成的新数据集NEWCLASS的结果如图13.1所示。图13」由CLASS转習住成的新数据集NEWCLASS3・设定新数据集中的转置变量名新数据集中的转置变量名是可以由用户B己设定的。•通过PROCTRANSPOSE语句的选项NAME=COURSE,修改了省缺的新变量名_NAME_为COURSE•还可以通过选项PREFIX=NO,修改了省缺的新变量名COL1.COL2、COL3、COL4、COL5为NOl、NO2、NO3、NO4、NO5•如果新变量名COL1、CO4、L2、COL3、COL4、COL5想用输入数据集CLASS中NAME变量中的对应值来替代,使用ID命令定义NAME即可。这样命名新变量的优点是通过新变量名就可以很容易地识别原数据集中的观察行修改程序如下:ProcTransposeData=CLASSOut=NEWCLASSNamc=COURSE;VarTESTITEST2TEST3;IdName;Run;转置生成的新数据集NEWCLASS的结果如图13.2所示。图13.2使用ID语句转置定成的新数据集NEWCLASS另外,还可以在PROCTRANSPOSEH程中使用COPY语句,在语句中指定输入数据集的某5、一个(或某几个)变量,将直接把输入数据集中指定变量那一列拷贝到新数据集也成为一列。当然,这样操作常会产生输岀数据集的行和列数不匹配,用缺失值填满。
3、ata=CLASSOut=NEWCLASS;VarTESTITEST2TEST3;Run;转査住成的新数据集NEWCLASS的结果如图13.1所示。图13」由CLASS转習住成的新数据集NEWCLASS3・设定新数据集中的转置变量名新数据集中的转置变量名是可以由用户B己设定的。•通过PROCTRANSPOSE语句的选项NAME=COURSE,修改了省缺的新变量名_NAME_为COURSE•还可以通过选项PREFIX=NO,修改了省缺的新变量名COL1.COL2、COL3、COL4、COL5为NOl、NO2、NO3、NO4、NO5•如果新变量名COL1、CO
4、L2、COL3、COL4、COL5想用输入数据集CLASS中NAME变量中的对应值来替代,使用ID命令定义NAME即可。这样命名新变量的优点是通过新变量名就可以很容易地识别原数据集中的观察行修改程序如下:ProcTransposeData=CLASSOut=NEWCLASSNamc=COURSE;VarTESTITEST2TEST3;IdName;Run;转置生成的新数据集NEWCLASS的结果如图13.2所示。图13.2使用ID语句转置定成的新数据集NEWCLASS另外,还可以在PROCTRANSPOSEH程中使用COPY语句,在语句中指定输入数据集的某
5、一个(或某几个)变量,将直接把输入数据集中指定变量那一列拷贝到新数据集也成为一列。当然,这样操作常会产生输岀数据集的行和列数不匹配,用缺失值填满。
此文档下载收益归作者所有