SAS系统和数据分析建立SAS系统的数据集.docx

上传人:b****8 文档编号:12948375 上传时间:2023-06-09 格式:DOCX 页数:11 大小:160.65KB
下载 相关 举报
SAS系统和数据分析建立SAS系统的数据集.docx_第1页
第1页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第2页
第2页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第3页
第3页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第4页
第4页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第5页
第5页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第6页
第6页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第7页
第7页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第8页
第8页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第9页
第9页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第10页
第10页 / 共11页
SAS系统和数据分析建立SAS系统的数据集.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SAS系统和数据分析建立SAS系统的数据集.docx

《SAS系统和数据分析建立SAS系统的数据集.docx》由会员分享,可在线阅读,更多相关《SAS系统和数据分析建立SAS系统的数据集.docx(11页珍藏版)》请在冰点文库上搜索。

SAS系统和数据分析建立SAS系统的数据集.docx

SAS系统和数据分析建立SAS系统的数据集

第一十课建立SAS系统的数据集(FILE/IMPORT或EXPORT)

用SAS/ACCESS访问外部数据库,只是建立了SAS系统访问外部数据库的访问通道,外部数据库并没有真正转换成SAS数据集,也没有新增一个外部数据库文件大小的存储空间,仅仅是创建了.ACCESS和.VIEW文件,且占用了很少的存储空间,例如我们将外部数据库文件移去,SAS系统中对应的那个*.VIEW就不能显示了。

而我们使用FILE/IMPORT或EXPORT方法是真正地输入或输出了一个数据库文件,要新增一个与原外部文件大小相当的SAS数据集,且这个数据库文件格式也转换成SAS数据库文件格式。

我们这里主要介绍Excel的*.XLS数据库文件与SAS数据集的转换。

一、Excel的XLS文件输入变成SAS的DATA文件

MircrosoftOffice套装软件中一员Excel,是一个功能强大的管理和决策工具软件,被大多数用户熟悉和常用。

虽然Excel中也为用户提供了大量的统计函数和可调入的统计宏模块程序,但遇到需要大数据量的、多种类型的、复杂的大型统计分析,Excel就会显得力不从心。

常常采用将Excel中原始分析数据转入到SAS系统,借助SAS系统的强大的专业的统计分析能力进行分析处理,能使用Excel所不具备的统计模块,能生成独有的专业统计报表和图形。

例如我们有一个上证综合指数的Excel文件,文件名为1a0001w.xls,存放的目录为d:

\sasdata\mydir,存放内容是从1990年12月21日开市到2000年1月07日的周K线指数数据,如图10.1所示。

图10.1上证周K线数据的XLS文件

将上述的1a0001w.xls文件输入到SAS系统,创建一个名为XLSSAS.DATA的SAS数据集,操作步骤如下:

1.选择File/Import命令,进入选择输入文件类型窗口,在下拉菜单中选择Excel

如图10.2所示。

鼠标单击输入框右边的向下箭头,弹出下拉菜单,选择Excel5or7Spreadsheet(*.xls)选项,然后单击Next按钮,进入下一个菜单窗口。

图10.2在SAS输入窗口选择外部文件格式

2.在选择外部文件窗口中,通过Browse按钮找到外部文件或直接键入

单击Browse按钮,找到D:

\SASDATA\MYDIR目录,单击文件1a0001w.xls打开。

或者在空白的输入框中直接输入路径名和文件名D:

\SASDATA\MYDIR\1a0001w.xls。

3.单击Options按钮,可以选择Excel的工作表和区域

如图10.3所示。

单击Options按钮后,出现了SASImport:

Spreadsheetoptions电子工作表的选项对话单,要注意,如果对话单中,Worksheet和Range输入框的右旁的两个向下箭头没有出现或输入框中事先就为空白,说明SAS系统没有正确地打开外部文件,常见的错误原因是用户还把这个外部文件打开着。

鼠标单击Worksheet输入框右旁向下箭头,打开下拉菜单选择其中一个工作表,Excel文件中只要有数据的工作表都会显示在这个下拉菜单中。

Range输入框中可以直接按Excel的区域定义的方法输入,如A1:

G464,或鼠标单击右旁向下箭头,选择下拉菜单中的,表示选择整个工作表中的数据。

图10.3选择Excel的工作表和表中区域

选择确定后单击OK按钮和Next按钮进入下一个菜单窗口。

4.选择SAS系统的库标记和输入一个自定的数据集名称

如图10.4所示。

在Libname输入框中选择一个已经存在的库标记STUDY,在MEMBER输入框中通常是输入一个新的成员名称XLSSAS。

最后单击Finish按钮,一个由外部Excel文件1a0001w.xls输入到SAS系统的STUDY.XLS.DATA数据集就产生了。

图10.4确定在SAS系统中新生成的数据集名称

二、SAS的DATA文件输出变成Excel的XLS文件

当然,SAS系统在数据管理方面也有不足的地方,也常需要把统计分析的结果数据转回到Excel作进一步的管理和决策。

因此,能方便地建立SAS与Excel的双向数据通道,使两者更紧密地结合在一起,无疑使两者都如虎添翼。

下面我们把刚才新生成的STUDY.XLSSAS.DATA数据集再输出到Excel,产生一个新的SASXLS.XLS文件。

文件输出的操作过程和窗口菜单与文件输入都很相似,主要步骤简述如下:

●选择File/Export菜单命令

●选择源SAS数据集的数据库标记STUDY和成员名XLSSAS

●选择目的数据库的类型为Excel5or7Spreadsheet(*.xls)

●输入目的数据库的路径和数据库名为d:

\sasdata\mydir\sasxls.xls

第一十一课单击Finish按钮SAS数据集的编辑

通常从外部数据源转换得到SAS数据集后,并不是所有的数据集都满足统计数据要求,可立即调用统计过程进行统计分析。

需要对数据集进行满足统计数据要求的编辑或生成新的数据集。

一、增加数据集一个新变量

SAS系统可通过赋值语句把包含操作符的表达式赋值给数据集所要创建的新变量。

SAS的表达式中还可以包含SAS函数,如一些常用的SAS函数见下表:

函数分类

常用函数

功能

数学运算函数

ABS()

取绝对值

SQRT()

求平方根

INT()

取整数部分

EXP()

计数e的次幂

LOG()

求e为底的自然对数

SIN()

计算正弦

LAGn()

求给定变量滞后为n的值

统计计算函数

MAX()

求最大值

MIN()

求最小值

MEAN()

求平均值

SUM()

求和

DIFn()

求给定变量X的第n阶差

STD()

求标准差

PROBNORM()

标准正态分布函数

日期时间处理函数

DATE()/TODAY()

取当日的日期值

DAY()

计算某月的那一日

HOUR()

计算小时

TIME()

取当日的时间

YEAR()

取年值

字符函数

INDEX()

搜寻字符串的位置

LEFT()

字符串表达式左对齐

SUBSTR()

抽取子字符串

TRIM()

移走尾部空格

LENGTH()

给出字符变量的长度

UPCASE()

转换为大写

财政金融函数

COMPOUND()

计算复利

IRR()

计算内部赢利率

NPV()

计算净现值

SAVING()

计算定期储蓄的本金和利息

例如,有一个学生成绩数据集中的数据来源写在CARDS语句后,但我们还需产生新的变量平均分和总分,数据步的程序如下:

Dataclass2;

Inputidtest1-test5;

average=mean(test1,test2,test3,test4,test5);

total=test1+test2+test3+test4+test5;

Cards;

980801100100100100100

980802901009010090

9808038182838485

Procprintdata=class2;

Run;

在OUTPUT窗口中显示的运行结果见图11.1所示。

图11.1用赋值表达式创建数据集的新变量

二、选择数据集的变量和观测

数据库的三种基本操作是选择、投影和连接,如果我们把数据库看成是一张表格,选择和投影操作相当于从一张大的数据库表格中挑选所需的行和列形成一张小的数据库表格。

连接操作相当于把两张或两张以上的数据库表格按某种规则合并成一张数据库表格。

原始数据库表格可以是外部数据文件(用INFILE语句输入),或在作业流中(用CARDS语句输入),或来自其他SAS数据集(用SET语句输入)。

1.选择变量(即选择列)

使用DATA语句的DROP=和KEEP=选项可以控制从原始数据库中读出的变量是否被写入将要创建的数据集。

例如,假设我们要从CLASS2数据集中产生只包含ID、AVERAGE和TOTAL变量,而不包含TEST1、TEST2、TEST3、TEST4、TEST5变量的新数据集CLASS3。

有两种程序编法都能达到相同的目的,一是使用DATA语句的DROP=选项,表示从原有变量中去掉DROP=中指明的变量;二是使用DATA语句的KEEP=选项,表示从原有变量中只保留KEEP=中指明的变量。

程序如下:

程序一:

Dataclass3(drop=test1test2test3test4test5);

Setclass2;

Procprintdata=class3;

Run;

程序二:

Dataclass3(keep=idaveragetotal);

Setclass2;

Procprintdata=class3;

Run;

程序一和程序二的运行结果相同。

在OUTPUT窗口中显示的运行结果如图11.2所示。

图11.2对数据集用DROP或KEEP进行变量选择

2.选择观测(即选择行)

选择满足条件的记录行来形成新的数据集,可使用DATA步的IF语句,IF语句的作用就像一个过滤网,IF语句中的条件表达式就像过滤网的形状,只允许符合条件表达式的记录行通过,如果条件表达式恒为真,意味着过滤网是空的,让所有的记录行通过。

对于不符合条件的记录行不作任何处理,直接回到数据步的顶部再将下一条记录来通过过滤网。

如果在条件语句IF中使用了DELETE语句,则可以控制哪些记录行不被写入将要创建的新数据集。

在条件表达式中要使用到比较操作符和逻辑操作符,SAS系统的比较操作符如下表所示:

操作符

符号

意义

LT

<

小于(LessThan)

GT

>

大于(GreaterThan)

EQ

=

等于(Equal)

LE

<=

小于等于(LessEqual)

GE

>=

大于等于(GreaterEqual)

NE

^=

不等于(NotEqual)

IN

等于列举中一个

SAS系统的逻辑操作符如下表所示:

操作符

符号

意义

AND

&

OR

|

NOT

^

请注意在条件表达示中使用上面两个表中的操作符或符号是等价的,特别要注意的是在一个复杂的条件表达式中可能同时包含算数运算符(+-*/**)、比较操作符和逻辑操作符,此时运算的优先次序为括号、算数运算符、比较操作符和逻辑操作符。

下面的三个DATA步程序是从同一个数据集CLASS2中,按不同的条件表达式选择记录行形成新的数据集CLASS4,结果相同。

程序一:

Dataclass4;

Setclass2;

iftotalge450;

Procprintdata=class4;

Run;

程序二:

Dataclass4;

Setclass2;

iftotallt450thendelete;

Procprintdata=class4;

Run;

程序三:

Dataclass4;

Setclass2;

ifaverage>=80and100in(test1,test2,test3,test4,test5);

Procprintdata=class4;

Run;

运行结果如图11.3所示。

图11.3用IF条件语句选择数据集中的观测

程序三中的IF语句条件表达式等价于IFaverage>=80and(100=test1or100=test2or100=test3or100=test4or100=test5),由于AND的优先级比OR的高,与条件表达式IFaverage>=80and100=test1or100=test2or100=test3or100=test4or100=test5是有区别的。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2