*
SAS基础1
*
三大统计软件
*
一、SAS系统简介
SAS (Statistical Analysis System)系统是国际著名的数据分析软件系统,具有完备的数据访问、管理、分析和呈现功能,被誉为国际标准统计分析系统
历史
1966年, 美国North Carolina州立大学开发
1976年,由美国SAS公司实现商业化
1985年, 推出SAS/PC版本
目前已推出Windows 系统支持的、,,版等
目前,SAS已发展成为用于决策支持及科学研究的大型信息系统,并且每年都在改进
SAS网址:
*
二、SAS荣誉
在数据处理和统计分析领域,SAS系统被誉为国际上的标准软件系统,并在96~97年度被评选为建立数据库的首选产品;
SAS 系统已被成功应用于134多个国家和地区的60000多个机构中,直接用户超过350万人,《财富》前100名公司中有98个都在使用该软件;
2000年度,美国数据挖掘与商业智慧权威杂志——DM Review杂志对全球 “最佳数据仓库/商业智能解决方案供应商”进行评选,SAS领先于Microsoft、 IBM 和Oracle等著名厂家,名列榜首,这是SAS连续两年荣获该项荣誉;
至2006年,SAS连续八年获得了DM Review杂志的读者首选奖;
2003年年初,SAS研究所的创始人古德奈特被《商业领袖》杂志评为十年一度惟一的商业领袖。
。。。
*
三、SAS系统的基本功能
SAS系统是用于数据分析与决策支持的大型集成式模块化软件包,它由基本部分和外加(20)模块组成:
数据管理: BASE SAS;
统计分析: SAS/STAT ;
绘图: SAS/GRAPH ;
质量控制:SAS/QC;
交互式矩阵运算: SAS/IML ;
运筹学和线性规划: SAS/OR ;
经济预测和时间序列分析: SAS/ETS ;
数据库接口模块: SAS/ACCESS:
BASE SAS是基础
功能
主要模块
数据库及其管理
BASE SAS, FSP, ACCESS, SQL, …
分析工具
STAT, ETS, QC, OR, INSIGHT, CALC, …
开发展现工具
BASE SAS , IML, AF, EIS, GRAPH, …
分布处理与数据仓库
CONNECT,SHARE, WA, …
*
模块式结构,数据管理和分析融为一体
我们能用SAS做什么?
进行数据管理
数据输入、建库、保存 、检索……
进行统计分析
简单统计分析、多元分析、时间序列分析……
进行数据挖掘
报表生成和图表显示
……
*
四、系统界面操作南
启动:
快捷
方式
菜单
方式
在“开始” “程序”菜单中的“The SAS System”程序组中,选定其中的“The SAS System for Windows V8”程序项即可;
在Windows桌面系统下双击 SAS运行图标 (需事先用鼠标右键将拖至桌面形成快捷方式)。
*
退出:
1、临时退出SAS作业,返回到Windows状态:
2 、退出SAS系统:
——点击SAS窗口的最小化按钮(点击任务栏中的SAS图标或“Alt”+“Tab”组合键返回)
——点击关闭图标,或在命令栏中输入“BYE”后回车
SAS的启动和退出
*
SAS提供的基本运行环境
SAS显示管理系统
是SAS系统所提供的交互式用户界面,由一系列窗口组成
PROGRAM EDITOR 窗口LOG 窗口及OUTPUT 窗口
下拉菜单(执行各种功能操作)
命令框
工具栏
三个基本窗口
其他窗口
组成
(可直接键入SAS的显示管理命令)
(提供了常见任务的快捷方式)
*
SAS工作界面
菜单
命令框
工具栏
三个基本窗口
结果窗口
资源管理器
*
SAS工作界面-了解5个子窗口
1、增强型程序编辑器(Enhanced Editor)
2、日志窗口(Log)
3、程序结果输出窗口(Output)
4、结果窗口(Result)
5、资源管理器(Explorer)
*
SAS工作界面-了解5个子窗口
PROGRAM EDITOR程序编辑窗口 F5
内容保存为“.sas”文本文件
提供了智能编辑功能
深蓝色:数据步和程序步的开始和结束;
蓝色:关键字;
棕色:字符串;
浅黄底色:数据块;
绿色:注释;
红色:可能的错误。
*
SAS工作界面-了解5个子窗口
LOG 日志窗口 F6
输出程序在运行时的各种相关信息,记录执行过的每一条语句
黑色文字:源程序及运行情况
蓝色文字:程序运行情况的说明信息
红色文字:出错信息
绿色文字:警告信息
*
SAS工作界面-了解5个子窗口
OUTPUT 输出窗口 F7
显示SAS程序运行所产生的文本输出结果(图形输出通过GRAPHICS窗口显示)
内容可保存
*
SAS工作界面——了解5个子窗口
结果窗口(Result)
帮助用户浏览和管理所提交的SAS程序输出结果,即结果浏览窗口
资源管理器(Explorer)
类似于Windows的资源管理器
*
最常用的几个快捷键
按功能键“F9”,激活Keys窗口,可查看功能键的定义
1)窗口切换命令:
F5:切换到Editor窗口
F6:切换到LOG窗口
F7:切换到OUTPUT窗口
2)编辑命令:
Ctr+E:清除当前工作窗口的所有信息
F4:将运行过的程序调回到Editor窗口
F3或F8:将Editor窗中的所有程序提交运行
*
SAS 联机帮助
*
五、SAS程序简介
SAS程序由两类“操作步”构成
数据步(Data Step)
数据步以DATA语句起始,通过指定数据集名称、定义数据集结构(变量名、变量类型等)和读入原始数据来建立SAS数据集
过程步(Proc Step)
过程步以PROC语句开始,调用不同的分析模块来对数据集进行分析、报表、绘图
每个SAS过程一般以RUN语句结束,有些过程需要使用QUIT语句结束运行(如PROC SQL)
SAS程序的结构
*
*
SAS程序的结构
SAS程序每一数据步以DATA开始,而过程步以PROC开始,整个程序以RUN语句结束
Data 文件名; input 变量; Cards; ……………… ……………… ; Run;
Proc print data=文件名; var 变量; Run;
数据步
过程步
*
每个“操作步”由若干条语句构成
每个语句常以开始的关键词称呼,用半角分号“;”表示语句的结束;
输入英文单词不区分大小(但对字符串区分大小),语句中每个字( word ) 及数字间至少以一个空格分隔;
语句可以在任一列开始和结束,词间可任意加入空格和换行,每行可输入多个语句。
SAS程序的输入规则
*
编写、运行、调试、保存SAS程
编写SAS程序:
在Program Edit 程序编辑窗口输入源程序
根据题意编写程序
例如将如下某班的学生的某课程成绩录入并打印输出
学号 成绩
1 78
2 65
3 84
4 79
5 91
6 58
姓名 成绩
xiaoming 78
xiaohong 65
xiaogang 84
xiaohua 79
xiaoqi 91
xiaochen 58
*
*
例子:
data test1;
input num score;
cards;
1 78
2 65
3 84
4 79
5 91
6 58
;
run;
proc print data=test1;
run;
data test2;
input name $ score;
cards;
xiaoming 78
xiaohong 65
xiaogang 84
xiaohua 79
xiaoqi 91
xiaochen 58
;
run;
proc print data=test2;
run;
默认变量为数值型
加入该符号,定
义变量为字符型
数据结束标志
输入数据变量
指示后面是数据
*
运行SAS程序
方式一:鼠标点击执行按钮
方式二:按功能键“F8”/“F3”
方式三:执行菜单命令【Run】→【Submit】
方式四:在命令框输入SUBMIT 命令并执行
注意:
若选中某段程序,运行,则只执行被选择部分
*
查看结果
激活OUTPUT窗口( F7 )
注意:没有正确结果,可能是:
程序语法错误:→ 查看日志窗口错误信息
程序逻辑错误:→ 分析源程序
没有调用能输出结果的过程
*
SAS程序的修改与调试
查看运行过程及出错信息
激活LOG窗口( F6 )
黑色文字:源程序及运行情况
蓝色文字:程序运行情况的说明信息(Note)
红色文字:出错信息(Error)
绿色文字:警告信息(Warning)
调试SAS程序
回到程序编辑窗口,修改源程序,再执行
如果程序编辑窗口没有显示刚刚执行的程序,可通过SAS的调回命令将刚刚执行的程序调回。
调回方式:
按功能键“F4”
菜单【Run】→【Recall Last Submit】
*
SAS程序的储存
保存SAS程序及其他窗口内容
激活相应窗口,然后选择:
方式一:鼠标点击“存盘”工具按钮
方式二:执行菜单命令【File】→【Save】/ 【Save as】
可保存程序、数据文件、运行结果、日志等
SAS保存成纯文本格式文件
*
SAS系统的文件管理
SAS文件与逻辑库
在利用SAS进行数据分析时,首先必须将要分析的数据正确合理地生成SAS数据集
SAS系统的文件以及对于文件的管理涉及到数据集和 逻辑库两个基本概念,他们构成了SAS应用的基本数据平台
最常用的SAS文件
SAS数据文件(数据集) : *.sas7bdat
SAS目录: *.sas7bcat
*
SAS逻辑库(Libraries):
SAS文件通常无法通过一般的文本编辑器阅读,必须通过SAS系统以对应方式打开浏览
SAS系统为了便于管理和使用SAS文件,将它们按照不同的应用集中管理,每个文件的集合就称为一个SAS逻辑库(Library)
相当于OS的文件夹
或者数据库概念中的数据库
SAS软件系统的信息组织有两层
第一层是SAS逻辑库
第二层是SAS文件
*
*
永久数据库与临时数据库
临时库:
work,它在每次启动sas系统时自动生成
临时库里面建立的文件 都是临时的,关闭SAS后就完全清空
永久库
SASUSER、SASHELP、自定义库
永久库的文件在SAS关闭对话之后仍旧保留
库的标识符是临时的,因此每次启动SAS调用时,需用libname语句指定永久库标识符所对应的物理文件夹
库引擎
库引擎是一组规定格式向逻辑库读写文件的内部指令
利用库引擎SAS系统可以直接访问其它SAS版本创建的SAS文件和外部数据库格式的数据文件
每个SAS逻辑库都对应一个库引擎
SAS通过不同库引擎读写不同格式的文件
标记一个SAS逻辑库的两种方法
菜单
命令: libname 库标识符 [引擎] 路径 [选项]
*
*
逻辑名
物理名
命令格式为:
libname 逻辑库标识符 “文件夹路径”;
Libname Res_sas ‘D:\ Res_sas’;
创建SAS永久数据库和访问数据库
创建永久数据库
菜单
命令: libname 库标识符 [引擎 ] 路径 [选项]
Libname Res_sas ‘D:\ Res_sas’;//默认引擎
创建永久自动加载逻辑库
用菜单建立逻辑库时,选择“Enable at startat”/“启动时启用”选项
访问
库标识符.文件名
Proc print data= ; Run;
work:指明为临时库,“”和“a”是等价的
*
*
*
SAS数据库基本操作
数据的导入与导出
从Excel数据到SAS数据:
命令操作
菜单操作
从SAS数据到Excel数据:
命令操作
菜单操作
从txt数据/数据库表与SAS数据的导入与导出(自学):
*
*
从Excel数据到SAS数据
菜单操作
File菜单
import data
命令操作
Proc import datafile=‘路径+文件名’ out=库名.数据集 [DBMS=标识名][replace];
sheet=‘sheet1’;
getnames=yes;
Run;
Proc Import Datafile= "D:\Res_sas\
"
Out= LSTKINFO_1
Dbms= Excel Replace;
Sheet= "LSTKINFO";
Getnames=Yes;
Run;
文件类型
*
*
从SAS数据到Excel数据
菜单操作
File菜单
export data
命令操作
Proc export data=库名.数据集 outfile='路径+文件名';
Run;
PROC EXPORT DATA= _1
OUTFILE= “D:\"
DBMS=EXCEL REPLACE;
SHEET="dd";
RUN;
*
*
注意
对原数据集的操作,如覆盖或删除数据集、建立或删除新的变量、增加或删减新的样本、排序等操作,该数据不能处于打开的状态;
将Excel或txt等数据集导入SAS时,Excel 或txt等数据不能处于打开的状态;
SAS数据集对中文不是非常支持,在导入Excel 或txt数据时,要先将中文变量名更名为英文;
*
*
本次课上机作业1
1、建立名为student的数据集,数据集包含以下信息:
6个学生性别、年龄、身高
Name Sex Age Height
Alice F 13
Becka F 13
Gail F 14
Karen F 12
Kathy F 12
Mary F 15
2、用print过程将上述数据集在output窗口显示出来。
3、熟悉各个功能键操作,各个窗口具体含义和切换。
*
本次课上机作业2
登录大学图书馆网站,进入CSMAR数据库
下载中国A股上市公司2012年的相关信息,包括公司的证券代码、会计期间、营业总收入、净利润、基本每股收益;
将上述文件导入SAS。
*
SAS ,北卡罗来纳的生物统计学研究生研制,1976年成立研究所,最早的功能限于统计分析。现在是用于决策支持的大型集成信息系统。在数据处理和统计领域,国际上的标准软件系统。堪称统计软件界的巨无霸。
操作方式是程序驱动,现在成为一套完整的计算机语言。学sas语言
Spss(Statistic Package for Social Science) 世界上最早的统计分析软件,美国斯坦福大学的3个研究生于20实际60年代末研发的,最早采用图形菜单驱动界面。突出的优点,操作界面极为友好,输出结果美观漂亮。
有一定的windows操作技能,粗通统计分析原理,非专业统计人员的首选。主要针对社会科学领域。
R是S语言的一种实现。S语言是由 AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。最初S语言的实现版本主要是S-PLUS。S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。Auckland大学的Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系统。R的使用与S-PLUS有很多类似之处,两个软件有一定的兼容性。S-PLUS的使用手册,只要经过不多的修改就能成为 R的使用手册。所以有人说:R,是S-PLUS的一个“克隆”。
*
*
最早由北卡罗来纳大学的两位生物统计学研究生编制,并于1976年成立了SAS软件研究所,正式推出了SAS软件。
SAS总部在美国,在全球56个国家设有400多家分支机构及三大研发中心(包括北京研发中心),每年的产品研发投入为当年营业额的24%,是业界平均水 平的两倍以上。SAS公司1990年开始进入中国市场,目前在北京、上海、广州、香港和台北均设有分支机构,并在北京设立了用户服务支持中心。
商业智能已成为热门技术,国内企业对精细化管理、定量分析、风险控制等业务越来越重视, 纷纷组建或扩大商业智能和业务分析团队。
在欧美职场上流行一句话:“ If you have a SAS certification, you will never lose your job.
获取SAS全球统一的专业认证,既是技术实力的体现,也会职场有较大帮助。
在软件及SAS的商业解决方案基于三项主要功能:
信息管理– 管理和治理泛滥的结构化与非结构化数据,并确保数据质量。SAS的统一方案包括分析管理、数据管理和决策管理。
分析– 应用广泛的高级分析工具,在数据中找到答案。SAS使客户能够测评出当前重要的事项、揭示最佳行为、预警风险并以超前的洞察力完成决策和执行。
商业智能–随时随地的基于事实获取正确信息并做出正确决策。 SAS提供一整套直观的界面可直接在移动设备上进行实时分析。 无论身在何处,每个决策者均能监测关键数据指标并做出明智决策。
SAS是高性能分析领域的领跑者。 SAS帮助客户使用“大数据”解决复杂问题,并获得非常精确的洞见以加快信息获取速度和超越竞争对手。在几分钟内获得一度需要几天或几星期才能获得的洞见。
解决方案服务中,
商业智能又名商务智能,英文为Business Intelligence,简写为BI。
商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具
SAS的核心重点是提供商业分析软件与服务,其中包括数据管理、分析和报表技术。这些技术可独立使用或用于行业或业务线专用的商业解决方案。
*
*
OC:质量控制模块。AF:交互式全屏幕软件应用系统模块
SAS 系统是一个组合软件系统,它由多个功能模块组合而成,其基本部分是BASE SAS模块。BASE SAS模块是SAS系统的核心,承担着主要的数据管理任务,并管理用户使用环境,进行用户语言的处理,调用其他SAS模块和产品。也就是说,SAS系统的运行,首先必须启动BASE SAS模块,它除了本身所具有数据管理、程序设计及描述统计计算功能以外,还是SAS系统的中央调度室。它除可单独存在外,也可与其他产品或模块共同构成 一个完整的系统。各模块的安装及更新都可通过其安装程序非常方便地进行。SAS系统具有灵活的功能扩展接口和强大的功能模块。
在BASE SAS的基础上,还可以增加如下不同的模块而增加不同的功能:SAS/STAT(统计分析模块)、SAS/GRAPH(绘图模块)、SAS/QC(质量控 制模块)、SAS/ETS(经济计量学和时间序列分析模块)、SAS/OR(运筹学模块)、SAS/IML(交互式矩阵程序设计语言模块)、SAS/INSIGHT(可视化的数据探索工具)、 SAS/FSP(快速数据处理的交互式菜单系统模块)、SAS/AF(交互式全屏幕软件应用系统模块)等等。SAS有一个智能型绘图系统,不仅能绘各种统 计图,还能绘出地图。SAS提供多个统计过程,每个过程均含有极丰富的任选项。用户还可以通过对数据集的一连串加工,实现更为复杂的统计分析。此外, SAS还提供了各类概率分析函数、分位数函数、样本统计函数和随机数生成函数,使用户能方便地实现特殊统计要求。
*
覆盖信息处理和信息系统开发的各个环节
*
SAS系统有多种运行方式:
窗口模式(Windowing Environment)
行交互模式(Line Interactive)
非交互模式(No interactive)
批处理模式(Batch)
收藏夹可查看和管理操作系统的文件
发布显示管理器命令有四种方式:
键入命令,菜单,工具栏按钮,功能键
可以给所有的外部文件创建一个快捷方式
*
*
*
*
*
*
*
SAS程序的修改
*
*
SAS文件中最常见的还是数据文件,又被称为数据集。如果跟数据库系统相比,逻辑库是数据库,那数据集就是里面的数据表
SAS目录册文件是特殊的SAS文件,用来存放多种不同种类的信息文件。这些信息文件都很小,每个信息文件都被称为一个条目(entry), 条目有多种不同的类型。一些目录条件包含一些系统信息如功能键定义信息。
引擎是一种访问架构,通过它可迅速其他数据库系统的文件
*
*
SAS系统中除了WORK以外的逻辑库都是永久库
SAS中利用libname命令建立逻辑库,虽然之后建立的与其关联的永久数据集还保存在该逻辑库所指的目录中,但重启SAS后该库却没有显示于库目录中。 例如e:\mysas目录已存在,程序data ;……重启SAS后虽然数据集aaa还保存在e:\mysas目录中,但student逻辑库却消失了。 但通过菜单方式建立逻辑库时,选择“Enable at startat”/启动时启用选项时就不存在这个问题。 以上介绍的是永久库,特点,数据不会在关闭sas后丢失。 引用库里的数据集是要加库名, .
临时库:sas启动后有一个work库,里面的内容在sas关闭后自动清空。 另一个特点,引用临时库的数据不用加库名
sashelp:包含所安装的sas系统各个模块相关的sas文件,安装sas系统时所需要的sas文件也存于该库中。 sasuser:包含为满足用户需要而特制的sas文件,用户的一些设置也存储在其中。
SAS在每次启动时都 会自动指定三个库标记:work, sashelp, sasuser。这其中又分为临时库和永久库。work被指定为临时库,好处是调用其中的SAS文件可以省略库标记,当然也要注意,临时库里面建立的文件 都是临时的,关闭SAS后就完全清空了,所以重要的数据文件要保存在其他地方。其他两个库则是永久性的,保存了系统的一些文件。 那么用户自定义的库是临时性的还是永久性的?肯定是永久性的,SAS软件还不至于多管闲事到这份上,用户自建的一些文件而且没有放在它的临时库里面也会给 删除掉。尽管用户自定义的逻辑库是永久性的,但是库标记却是临时性的,也就是你这次定义了a代表'C:\Documents and Settings',下次启动SAS时再需要访问这个文件夹的文件就需要重新定义一个库标记了,SAS可不会帮你记下来。
每个SAS逻辑库都对应一个库引擎。
库引擎功能包括:
读取和写入数据;
列出库中的文件;
删除和重命名文件
*
*
在名称中输入新的逻辑库名称。在引擎中根据数据来源选择不同的引擎,如果只是想建立本机地址上的一个普通的SAS数据集数据库,可以选择默认。然后点选启动时启用,在逻辑库信息中,点选路径后面的浏览按钮,选择与这个逻辑库相对应的物理地址。选项窗口可以不填,点击确定产生一个新的逻辑库。
例 用LIBNAME语句创建SAS逻辑库。
Libname ResDat ‘d:\ResDat’;
多个个文件夹创建一个SAS逻辑库:
Libname a ('d:\resbd\','d:\resfin\');
*
*
import读取带分隔符的文件 语法格式: PROC IMPORT DATAFILE= OUT= DBMS= REPLACE; (Data source statements:) DATAROW=n ; DELIMITER= ; GETNAMES=YES|NO; 说明: DBMS= 需要指定DLM,逗号分隔文件可省略; DATAROW=n; 指定从数据文件的第几行开始读取,该选项缺省情况下,如果getnames=yes则从第二行开始读取,getnames=no从第一行开始读取; DELIMITER=; 指定分隔符; GETNAMES=; 告诉SAS是否将数据文件的第一行作为变量读取,该选项缺省为yes。 如果第一行是变量名,而该选项为no则会将列为数值型的第一行读取为缺失值。 当指定getnames=no时,对于DLM文件,则SAS自动将变量命名为VAR1, VAR2, ...;对于Excel文件,则SAS自动命名变量为F1, F2, … 举例: proc import datafile="C:\My Documents\myfiles\" out=mydata dbms=dlm replace; delimiter='&'; getnames=yes; run;
import读取数据库表(如Access) 语法格式: PROC IMPORT TABLE= OUT= DBMS= REPLACE; (Data source Statements:) DATABASE= PWD= UID= WGDB= 说明: DATABASE= 指明数据库存放的路径及名字 UID= 数据库用户名 PWD= 密码 WGDB= 工作组名称 举例: proc import table="customers" out= dbms=access97; uid="userid"; pwd="mypassword"; database="c:\myfiles\"; wgdb="c:\winnt\system32\"; run; 用proc import能够更精细的控制。 在写import过程的时候,要特别注意分号的位置,从最开始的语法格式那里可以看出,proc import后面的一般选项是连在一起写的,中间用空格隔开,最后才以分号结尾;而数据源选项则每一项都要以分号结束。这些地方往往容易出错。
*
import的语法格式 PROC IMPORT DATAFILE=“filename” | TABLE=“tablename” OUT=<libref.>SAS-data-set <(SAS-data-set-options)> <DBMS=identifier><REPLACE> ; <data-source-statement(s);> 说明: DATAFILE=“filename” 用来指定数据文件的位置,如果是Access则用TABLE=“tablename”指定需要读取的数据表; OUT= 指定输出数据集的名称; DBMS=identifier 指定导入数据表的类型;几个常用的DBMS选项如下 ACCESS 读取MS ACCESS2000/2002数据 EXCEL 读取Excel2000/2002数据 CSV 读取逗号分隔的文件 DLM 读取分隔符文件,需要用DELIMITER=指明具体的分隔符 TAB 读取Tab分隔的文件 REPLACE选项替换原来已经存在的数据集,缺省情况下是不替换,并在LOG窗口中予以提示
import读取Excel文件 语法格式: PROC IMPORT DATAFILE= OUT= DBMS= REPLACE; (Data source statements:) SHEET=; GETNAMES= YES|NO; 注:读取Excel时,可以不指定DBMS=选项。 举例: proc import datafile="c:\clinic files\" out=drug1; sheet='lab'; getnames=yes; run;
import读取带分隔符的文件 语法格式: PROC IMPORT DATAFILE= OUT= DBMS= REPLACE; (Data source statements:) DATAROW=n ; DELIMITER= ; GETNAMES=YES|NO; 说明: DBMS= 需要指定DLM,逗号分隔文件可省略; DATAROW=n; 指定从数据文件的第几行开始读取,该选项缺省情况下,如果getnames=yes则从第二行开始读取,getnames=no从第一行开始读取; DELIMITER=; 指定分隔符; GETNAMES=; 告诉SAS是否将数据文件的第一行作为变量读取,该选项缺省为yes。 如果第一行是变量名,而该选项为no则会将列为数值型的第一行读取为缺失值。 当指定getnames=no时,对于DLM文件,则SAS自动将变量命名为VAR1, VAR2, ...;对于Excel文件,则SAS自动命名变量为F1, F2, … 举例: proc import datafile="C:\My Documents\myfiles\" out=mydata dbms=dlm replace; delimiter='&'; getnames=yes; run;
First we use the out= statement to tell SAS where to store the data once they are imported.
Next the datafile= statement tells SAS where to find the file we want to import.
The dbms= statement is used to identify the type of file being imported. This statement is redundant if the file you want to import already has an appropriate file extension, for example *.xls.
The replace statement will overwrite an existing file.
To specify which sheet SAS should import use the sheet="sheetname" statement. The default is for SAS to read the first sheet. Note that sheet names can only be 31 characters long.
The getnames=yes is the default setting and SAS will automatically use the first row of data as variable names. If the first row of your sheet does not contain variable names use the getnames=no.
SAS uses the first eight rows of data to determine whether the variable should be read as character or numeric. The default setting mixed=no assumes that each variable is either all character or all numeric. If you have a variable with both character and numeric values or a variable with missing values use mixed=yes statement to be sure SAS will read it correctly.
Conveniently SAS reads date, time and datetime formats. The usedate=yes is the default statement and SAS will read date or time formatted data as a date. When usedate=no SAS will read date and time formatted data with a datetime format. Keep the default statement scantime=yes to read in time formatted data as long as the variable does not also contain a date format.
*
总结 语言之间都是很相似的,最本质的逻辑结构是一样的,不同的只是某些语句、函数和实现方法。如果有其他语言的基础,学起SAS语言来会很快上手和熟练。多多 比较不同语言之间的差异会加深你对SAS语言及其他语言的理解和掌握。SAS语言在以下一些方面跟标准语言有比较大的差异: ·数据类型:只有两种类型,识别和显示更多的数据形式依靠丰富的输入输出格式; ·数组:只用来存储变量,而不是具体的数据; ·函数:有着丰富的函数库,特别是统计相关的函数,但是没有提供自定义函数,实现这一功能的是宏; ·循环与自循环:data步隐含了自循环的过程,这一SAS语言最具特色的机制在方便编程的同时也带来了理解上的麻烦; ·程序结构:任意一个SAS程序都是由data步或proc步构成的,模块化的结构使程序看起来非常清晰。 SAS语言的这些特点使其更适合用来解决统计分析问题。
*