SAS系统和数据分析PROCTRANSPOSE转置数据集_第1页
SAS系统和数据分析PROCTRANSPOSE转置数据集_第2页
SAS系统和数据分析PROCTRANSPOSE转置数据集_第3页
SAS系统和数据分析PROCTRANSPOSE转置数据集_第4页
SAS系统和数据分析PROCTRANSPOSE转置数据集_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、595380488.docSAS系统和数据分析电子商务系列第十三课 PROC TRANSPOSE 转置数据转置数据集的概念在对数据库的操作中,有时需要把数据库的行和列进行交换,也可称转置。SAS系统中TRANSPOSE过程能完成对 SAS数据集的转置,即把观测(行)变为变量(列) ,变量变为 观测。该过程从读入的一个数据集中创建一个新的数据集。新数据集中包含三类变量:是由输入数据集中的观测转置后创建的新变量,又称转置变量,如_NAME.COL1、COL2、COL3 二是从输入数据集中拷贝过来的变量,使用COPY语句定义这个变量,新数据集中COPY过来的变量与输入数据集中的变量具有相同的名字和值

2、三是为了识别新数据集中每条观测的来源用ID语句定义的变量值作为新数据集创建的新变量使用PROC TRANSPOSE 过程转置数据集1.用于TRANSPOSE过程的常用语句Proc Transpose ;Var变量列表;Id变量;Copy变量列表;Run ;2.转置CLASS数据集例如,在 CLASS数据集中有变量 NAME、TEST1、TEST2和TEST3,是按每个学生各 课程成绩作为一条观测来组织的,现在我们要创建一个按每门课程各个学生的考试成绩作为 一条观测的新数据集 NEWCLASS。程序如下:Proc Transpose Data=CLASS Out=NEWCLASS ;VarTES

3、T1 TEST2TEST3 ;Run ;转置生成的新数据集NEWCLASS的结果如图13.1所示。上海财经大学经济信息管理系IS/SHUFECreated by zxdengPage 6 of 7-Jnl2d团 Filt Edit Vifiw Globals Options Window KtlpOB_NANETE3I1TESI2TEST3o 8 9o 9- 00S| X|17:27 Thuirscla,C0L1 U0L58 14&7G0 9 90 99图13.1 由CLASS转置生成的新数据集 NEWCLASS皿一 UVTFVT - CVntitSiD 3.设定新数据集中的转置变量名新数据集

4、中的转置变量名是可以由用户自己设定的。通过PROC TRANSPOSE 语句的选项NAME=COURSE ,修改了省缺的新变量名 _NAME_ 为 COURSE还可以通过选项 PREFIX=NO,修改了省缺的新变量名COL1、COL2、COL3、COL4、COL5 为 NO1、NO2、NO3、NO4、NO5如果新变量名 COL1、COL2、COL3、COL4、COL5想用输入数据集 CLASS中NAME变量中的对应值来替代,使用ID命令定义NAME即可。这样命名新变量的优点是通过新变量名就可以很容易地识别原数据集中的观察行修改程序如下:Proc Transpose Data=CLASS Out

5、=NEWCLASS Name=COURSE ;Var TEST1 TEST2 TEST3 ;Id Name ;Run ;转置生成的新数据集 NEWCLASS的结果如图13.2所示。上海财经大学经济信息管理系IS/SHUFECreated by zxdeng命3苗-OUTFUT - 伽口门讯-Ifll x|犬I 口沖|副劃tai鸟雇|團训底The SAS SstenCOURSEXlrtOERZHhNGSANLISIWANGUU100687117:27 Thursday, Au +圜 Filt Edit View GLolals Op Lions tfmdcw 也9 6 07 7 70 3 9 o

6、 9圧0 6 83 8 B123曲uuu图13.2使用ID语句转置生成的新数据集 NEWCLASS第十四课 另外,还可以在 PROCTRANSPOSE过程中使用COPY语句,在 语句中指定输入数据集的某一个(或某几 个)变量,将直接把输入数据集中指定变 量那一列拷贝到新数据集也成为一列。当 然,这样操作常会产生输出数据集的行和 列数不匹配,用缺失值填满。使用FSVIEW过程编辑数据集我们前面主要用SAS的程序方法来编辑 SAS数据集。实际上,很多用户习惯使用 SAS/FSP 软件的FSVIEW过程来编辑SAS数据集,这是一种交互式菜单编辑方式,非常方便。例如,在PROGRAM EDITOR 窗

7、口中输入的程序如下:Proc fsview data=study.survey ;Run ;程序提交后,进入FSVIEW 窗口。用户仍然可以在命令框中键入命令来编辑,如键入DROP命令去掉不需要显示的变量 (投影操作)、WHERE命令获得子集(选择操作)及WHERE ALSO命令获得子集的子集。FSVIEW过程与FSEDIT过程相比,FSVIEW过程更方便,是用 上海财经大学经济信息管理系IS/SHUFECreated by zxdeng户最常用的输入和编辑 SAS数据集的过程。因为FSVIEW在每一屏显示尽可能多的观测,是一种屏编辑;而 FSEDIT在每一屏只显示一条观测,是一种行编辑。我们

8、在这里以编辑数据 集STUDY.SURVEY .DATA为例,简单介绍几种最常用的编辑操作。选择 Edit/Update/Record命令编辑记录如果选择了 Edit/Update/Memer命令,则按数据集的一个个数据项进行编辑,每按一个 Enter编辑光标跳到下一个数据项。如果选择了Edit/Update/Record命令,则按数据集的一条条记录进行编辑,每按一个Enter编辑光标跳到下一条记录。如图14.3所示是FSVIEW屏编辑窗口。图14.3 FSVIEW 屏编辑窗口1. 修改指定记录进入按记录编辑状态后,只要单击一下所要编辑记录的行中任意位置,就会出现高反差 的编辑条,移动左右光标

9、到行中某处即可修改。要注意的是,窗口中显示的是数据集的输出 格式,我们在输入或修改时,一定要按输入格式进行输入,否则可能发生错误。上海财经大学经济信息管理系IS/SHUFECreated by zxdeng595380488.docSAS系统和数据分析电子商务系列2. 删除指定记录按上下光标或 Page Up/Page Down键可上下移动编辑光标,移到指定行后再按Enter键,也会出现高反差的编辑条,只有在出现编辑条时再按工具栏上的Delete按钮,才能删除此记录行。另外一种方法是,选择Edit/Delete命令后,再输入需要删除记录的OBS编号。需要注意,OBS编号是记录输入的顺序号,而不

10、是当前记录的逻辑顺序编号。记录输入的顺序号可 能不连续,原因是断缺号码的输入记录已经被删除了。3. 新增一条记录如果需要新增记录,选择Edit/Autoadd命令,将新增一条空白记录,然后在空白记录上输入,按Enter键将继续新增空白记录。Edit/Autoadd是一个开关命令,再次选择此命令将关掉新增记录状态。4.选择View/Arrange variables/Drop命令去掉变量的显示如果要去掉不需要显示的变量,例如AGE变量,选择 View/Arrange variables/Drop命令后将出现如图14.4所示的输入框,空白框中输入数据集变量名AGE,单击OK即可。图14.4 去掉A

11、GE变量选择 View/Rename 命令更改变量 的名称如果要更改变量的名称,例如将NAME变量名更改为ID_NAME 。选择View/Rename命令 后将出现见图14.5所示输入框,输入被改的变量名 NAME和改为的变量名ID_NAME。单击 OK改名任务完成。上海财经大学经济信息管理系IS/SHUFECreated by zxdengPage 11 of 7命令重三、选择 View/Assign formats/Format新定义变量的输出格式STUDY .SURVEY数据集在初始创建时, 我们只考虑了输入格式, 示的数据格式是一种系统默认的输出格式,可能不符合用户的要求,例如现在在屏

12、幕的窗口中显BDATE出生年日期变量,显示的是 SAS系统内部的日期存储值,我们将它改成MMDDYY8.日期输出格式。选择View/Assign formats/Format命令后将出现如图 14.6所示输入框,在 Enter name of format 输入框中输入输出格式MMDDYY8.,在Enter name of variable(s) to format输入框中输入需改变输出格式的变量名 BDATE。单击0K修改完成。图14.6 更改BDATE变量的输出格式命令新增显示四、 选择 Locals/Define formula变量假设我们要对STUDY.SURVEY数据集新增一个TAX显示变量,它的值可由本条观测的 其他字段变量中的值经过一定的运算求得,例如TAX=INCOME*10% 。选择 Locals/Defi neformula命令后就会出现如图 14.7所示的定义新变量的窗口,在Name中输入新变量 TAX回车,在Enter the formula below的下面立即出现 TAX=,在Type中有数字 NUMERIC 和字符 CHARACTER两个选项,我们选择数字型变量, 定义数据输出格式为 9.2,最后输入变量TAX 的赋值公式为INCOME*O.1。单击OK完成。今后新增一条记录输入时,只要在INCOME变量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论