《统计软件及应用 .pptx》由会员分享,可在线阅读,更多相关《统计软件及应用 .pptx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据步数据步DATADATA步步过程步过程步PROCPROC步步原始原始数据数据SASSAS表表报告报告数据步数据步DATADATA 通过指定数据集名称、定义数通过指定数据集名称、定义数据集结构据集结构(变量名、变量类型等变量名、变量类型等)和读入原始数据和读入原始数据来建立来建立SASSAS数据集;数据集;过程步过程步PROC PROC 调用不同的分析模块来完成调用不同的分析模块来完成对数据集的统计分析。对数据集的统计分析。SAS程序的结构SASSAS表表SASSAS程序每一数据步以程序每一数据步以DATADATA开始,而过程步以开始,而过程步以PROCPROC开始,整个程序以开始,整个程序
2、以RUNRUN语句结束。语句结束。第1页/共56页SAS程序的输入规则q每个语句常以开始的关键词称呼,用分号每个语句常以开始的关键词称呼,用分号“;”表示语句的结束;表示语句的结束;q输入字母可用大、小写或混用,语句中每个字(输入字母可用大、小写或混用,语句中每个字(word word)及数字间至少以一个空格分隔;及数字间至少以一个空格分隔;q语句可以在任一列开始和结束,词间可任意加入空格和换行,每行可输入多个语句。语句可以在任一列开始和结束,词间可任意加入空格和换行,每行可输入多个语句。第2页/共56页SAS的主要功能获取数据获取数据管理数据管理数据分析数据分析数据表示数据表示数据应用软件开
3、发应用软件开发第3页/共56页SAS系统对数据的管理数据数据数据数据直接输入直接输入直接输入直接输入流行流行流行流行数据库数据库数据库数据库其它其它其它其它文件格式文件格式文件格式文件格式SASSAS数据集数据集SASSASSASSAS应用程序应用程序应用程序应用程序是一种由是一种由SASSAS系统创建和管系统创建和管理的有特殊结理的有特殊结构的构的SASSAS文件文件存储在被存储在被称为称为SASSAS数数据库据库 的文的文件集中件集中SASSAS系统只能对由系统只能对由SASSAS建立的数据文件建立的数据文件直接进行统计分析。直接进行统计分析。第4页/共56页SAS数据库在在SAS SAS
4、 系统中使用的各种数据文件系统中使用的各种数据文件(包括包括dbf/db2dbf/db2等外部数据文件等外部数据文件)可以分类组织起来,冠以不同的逻辑别可以分类组织起来,冠以不同的逻辑别名名数据库名。也就是说,数据库名。也就是说,数据库其实是比数据集高一级的目录文件夹数据库其实是比数据集高一级的目录文件夹。在在WindowsWindows操作系统中,一个数据库通常对应为一个或多个文件夹中的若干数据文件。操作系统中,一个数据库通常对应为一个或多个文件夹中的若干数据文件。目的目的:在各种操作系统下,:在各种操作系统下,SASSAS对数据文件操作的环境相对统一对数据文件操作的环境相对统一,都可通过数
5、据库方便地访问数据文件。都可通过数据库方便地访问数据文件。第5页/共56页SAS数据库SASSAS数据库数据库 存储了存储了SASSAS数据集(数据集(SAS DATASAS DATA)和和SASSAS目录册(目录册(SAS CATALOGSAS CATALOG)等)等SASSAS专用专用文件,从而使文件,从而使SASSAS系统能够在程序中指明并系统能够在程序中指明并查阅文件。查阅文件。在在WindowsWindows操作系统下,操作系统下,SASSAS数据库数据库是一种以是一种以路径为基础的组织方式;每个路径为基础的组织方式;每个SASSAS数据库数据库均均以以库标记库标记 来识别。来识别。
6、又称库逻辑名,是某文又称库逻辑名,是某文件所在路径的别名件所在路径的别名指指系统设置、声系统设置、声音、图象音、图象等不能等不能表示成行列结构表示成行列结构表格形式的数据表格形式的数据第6页/共56页为永久库,其所有文件将被为永久库,其所有文件将被保留,库标记可由用户指定保留,库标记可由用户指定由系统自动指定由系统自动指定由系统自由系统自动指定的动指定的临时库,临时库,结束结束SASSAS后库中的后库中的数据被自数据被自动删除动删除人工设定人工设定第7页/共56页SAS数据库的设定在在SASSAS管理器窗口管理器窗口为当前活动窗口的前提下,从下拉为当前活动窗口的前提下,从下拉菜单菜单FileF
7、ile中选中选NewNew命令命令;或:或:点击工具栏中的图标点击工具栏中的图标 。进入建立新库对话框进入建立新库对话框 :也可使用也可使用LIBNAMELIBNAME语句指定语句指定SASSAS库标库标 :libname libname 数据库名数据库名 引擎引擎 ;libname libname 数据库名数据库名 (1 );2);如:如:LIBNAME LIBNAME AAAAC:SASC:SAS;(可直接在(可直接在PGMPGM窗口中运行)窗口中运行)第8页/共56页SAS数据集SASSAS数据集通常是数据集通常是SASSAS系统操作的对象,也是数据在系统操作的对象,也是数据在SASSA
8、S系统中的存储形式。系统中的存储形式。SAS SAS 数据集可以看成是由若干行和若干列组成的表格数据集可以看成是由若干行和若干列组成的表格(矩阵矩阵,关系型数据结构关系型数据结构),),各列可以取不同类型的值。各列可以取不同类型的值。SASSAS数据集是由数据集是由SASSAS系统建立的特有的数据存储格式,只能被系统建立的特有的数据存储格式,只能被SASSAS系统调用。系统调用。SASSAS数据集以数据集以.sas7bdat.sas7bdat 为扩展名。为扩展名。第9页/共56页SAS数据集(DATA SETS)包括描述部分和数据部分包括描述部分和数据部分;描述部分描述部分 包含了一些关于数据
9、属性的信息包含了一些关于数据属性的信息数据部分数据部分 是由数据构成的矩形表是由数据构成的矩形表在在SASSAS系统中,浏览和编辑系统中,浏览和编辑SASSAS数据集数据集必须先设定必须先设定SASSAS数据库数据库,将要浏览和编辑的数据集存放在已设定的,将要浏览和编辑的数据集存放在已设定的SASSAS数据库数据库中中。第10页/共56页SAS数据集描述部分(View columns)(Properties)第11页/共56页SAS数据集数据部分观测观测1 1 观测观测2 2观测观测3 3VAR1 VAR2 VAR3 VAR4 VAR51234abcd3456abcd56782345bcde4
10、567bcde67893456cdef5678cdef7890变量变量(VariableVariable)对对缺失值缺失值(Missing ValueMissing Value)的处理:)的处理:字符型变量用空格表示字符型变量用空格表示字符型变量用空格表示字符型变量用空格表示数值型变量用句号数值型变量用句号数值型变量用句号数值型变量用句号.表示表示表示表示相当于相当于相当于相当于记录或记录或行行相当于域相当于域或字段或字段SAS变量只有两种基本类型:数值型(N)和字符型($或C);逻辑、时间型数据都通过数值型来表示。第12页/共56页观观测测变变 量量第13页/共56页SAS数据集命名方式SA
11、SSAS数据集数据集采用两级命名方式定名:采用两级命名方式定名:Libname.SAS-filenameLibname.SAS-filename(库标记(库标记 .文件名)文件名)如:名为如:名为 DST2.FISH DST2.FISH 的数据集的数据集默认为默认为WORKWORK,即临时数据,即临时数据集只要有数据集名即可集只要有数据集名即可数据集的名字由英文字母、数字、下划线组成,第一个字母数据集的名字由英文字母、数字、下划线组成,第一个字母必须是字母或下划线,名字最多只能有必须是字母或下划线,名字最多只能有8 8 个字符;另外在命个字符;另外在命名时不区分大小写。名时不区分大小写。第14
12、页/共56页Example希望把希望把F:My SAS FilesV8new F:My SAS FilesV8new 这个目录与一个名叫这个目录与一个名叫libtestlibtest 的的数据库数据库联系起来,并且将联系起来,并且将test test 数据集数据集放置在其中。可以在编辑窗口输入如下的程序:放置在其中。可以在编辑窗口输入如下的程序:libname libtest f:my sas filesv8new;libname libtest f:my sas filesv8new;data libtest.test;data libtest.test;input code price;i
13、nput code price;cards;cards;600381 18600381 18600262 16600262 16600252 8600252 8600009 10600009 10600036600036;run;run;第15页/共56页是否显示库内是否显示库内文件的细节文件的细节控制管理器窗控制管理器窗口的树形显示口的树形显示是否打开是否打开返回到程序编返回到程序编辑窗口界面辑窗口界面第16页/共56页SAS数据集的建立数据存于纸上数据存于纸上(需直接键入)(需直接键入)数据存于文本数据存于文本文件文件数据存于流行数据数据存于流行数据库文件中库文件中用用VIEWTABLE、
14、FSEDIT、FSVIEW编程:用编程:用DATA语句语句用用Import菜单菜单用用SAS/ACCESS第17页/共56页编程方式建立数据集采用采用SASSAS编程方式录入实际数据是一种灵活而有效的手段。尽管用图形界面进行各种操作已经成为编程方式录入实际数据是一种灵活而有效的手段。尽管用图形界面进行各种操作已经成为WindowsWindows时代的一种主流模式时代的一种主流模式,但在一些较复杂的、庞大的问题上但在一些较复杂的、庞大的问题上,还是需要用编程模式才能方便的给予解决。还是需要用编程模式才能方便的给予解决。在在SASSAS系统中系统中,我们可以用其我们可以用其两类基本过程两类基本过程
15、之一的数据步过程来完成对批量数据的录入与管理。之一的数据步过程来完成对批量数据的录入与管理。第18页/共56页使用DATA步新建数据集数据存于纸上数据存于纸上(需直接键入)(需直接键入)编程:用编程:用DATA语句语句数据存于文本数据存于文本文件文件data SAS-data-set;data SAS-data-set;变量属性设定语句变量属性设定语句;infile filename option;infile filename option;input input 变量输入设定;变量输入设定;其他其他SASSAS语句;语句;runrun;data SAS-data-set;data SAS-
16、data-set;变量属性设定语句变量属性设定语句;inputinput变量输入设定;变量输入设定;其他其他SASSAS语句;语句;cards;cards;原始数据原始数据;runrun;第19页/共56页处理DATA步的全过程SASSAS系统执行数据步的过程主要分为两个阶段:系统执行数据步的过程主要分为两个阶段:编译数据步编译数据步语法检查语法检查,代码转换(机器码)代码转换(机器码)创建输入缓冲区创建输入缓冲区(存放数据源中的一行记录存放数据源中的一行记录)创建一个创建一个程序数据向量程序数据向量PDV PDV(可暂存数据集的当前一条观测可暂存数据集的当前一条观测)创建创建SASSAS数据
17、集的描述部分数据集的描述部分(数据集名称、观测变量个数和变量属性等数据集名称、观测变量个数和变量属性等)执行数据步执行数据步第20页/共56页程序数据向量缓冲器PDVPDVPDV(Program Data VectorProgram Data Vector)来存放当前的一个观)来存放当前的一个观测;观测数据经处理后存入数据集。这是数据步的测;观测数据经处理后存入数据集。这是数据步的主要工作场所。主要工作场所。PDVPDV中包括两个自动生成的临时变量:中包括两个自动生成的临时变量:_N_(_N_(记录数据记录数据步执行的次数步执行的次数)和和_ERROR_(_ERROR_(错误标志:错误标志:0
18、 0为无错误为无错误,1,1为发生错误为发生错误)数据步中出数据步中出数据步中出数据步中出现的变量现的变量现的变量现的变量(包包包包括数据集内括数据集内括数据集内括数据集内的变量的变量的变量的变量)第21页/共56页DATA步执行阶段在执行期间,在执行期间,SASSAS系统执行以下步骤:系统执行以下步骤:(除非另有指向除非另有指向)1 1)PDVPDV中所有的变量值被初始化为缺失值;中所有的变量值被初始化为缺失值;2 2)输入缓冲器据)输入缓冲器据inputinput语句的数据需求语句的数据需求,读入源数据文件的相应记录行读入源数据文件的相应记录行,并写相应的数据字段到并写相应的数据字段到PD
19、V;PDV;3 3)每个语句被顺序执行)每个语句被顺序执行,并可修改并可修改PDVPDV形成当前观测形成当前观测;4 4)数据步语句一遍执行后)数据步语句一遍执行后,PDV,PDV中的值写入数据集中的值写入数据集;*;*5 5)PDVPDV中外部变量初始化为确失值中外部变量初始化为确失值,程序流程回到程序流程回到2 2);6 6)对数据源文件的每条记录都按上面步骤执行一次;)对数据源文件的每条记录都按上面步骤执行一次;7 7)重复以上步骤直到外部文件中数据结束。)重复以上步骤直到外部文件中数据结束。第22页/共56页DATA步的工作流程数据步开始数据步开始有未读入的观测值吗?有未读入的观测值吗
20、?用数据读入语句读入一个观测值用数据读入语句读入一个观测值用其它语句对观测值进行运算或处理用其它语句对观测值进行运算或处理把当前的观测值写入数据集把当前的观测值写入数据集数据集建立完毕,开始下一个数据集建立完毕,开始下一个数据步或过程步数据步或过程步Y YN N第23页/共56页练习及思考data a;put x=y=z=;input x y;z=x+y;put x=y=z=;cards;10 20 100 200;run;第24页/共56页使用数据步新建数据集直接输入数据直接输入数据生成数据集生成数据集要求:要求:直接输入生成直接输入生成SASSAS数据集数据集的一般形式:的一般形式:关键字
21、关键字DATADATA后的数据集名可以省略,这时后的数据集名可以省略,这时SASSAS自动自动生成一个临时数据集名;也可以使用特殊名字生成一个临时数据集名;也可以使用特殊名字_null_null_,表示本数据步不生成数据集。表示本数据步不生成数据集。说说明明DATADATA SAS SAS数据集名数据集名;语句语句设定变量属性设定变量属性;INPUTINPUT 语句语句;其他其他SASSAS语句语句;CARDSCARDS;/*/*说明:数据行结束分号需另起一行说明:数据行结束分号需另起一行*/*/RUNRUN;第25页/共56页数据集变量的属性描述NameName 变量名字,由字母或下划线开始
22、变量名字,由字母或下划线开始,且不超且不超 过过3232个字符或数字个字符或数字Type Type 变量类型,变量类型,C C或者或者$代表字符型,代表字符型,N N或者或者空格代表数值型空格代表数值型LengthLength 变量长度,缺省为变量长度,缺省为8 8字节(字节(200200)LabelLabel 变量标签,缺省为变量标签,缺省为4040字节字节(256)256)InformatInformat 输入格式名输入格式名w.dw.dFormatFormat 输出格式名输出格式名w.dw.d必必须须界界定定NameName 和和LengthLength这两个属性只在新建表格的时才可以修
23、改这两个属性只在新建表格的时才可以修改第26页/共56页输入输出格式类型SASSAS数据数据输入输入/输出输出的格式主要有四类:字符型、数值型、日期时间型和用户自定义型。的格式主要有四类:字符型、数值型、日期时间型和用户自定义型。输入输出格式的一般形式为输入输出格式的一般形式为$格式名格式名 w.d w.d$表明为字符型变量的输入输出格式;表明为字符型变量的输入输出格式;w.w.指明格式的宽度为指明格式的宽度为w(w(字符数字符数).).对输入格式就是读入的最大字符数对输入格式就是读入的最大字符数,对输出格式就是变量显示时占据对输出格式就是变量显示时占据的最大列数;的最大列数;d d在数值型输
24、出时指明显示小数位数在数值型输出时指明显示小数位数,在数值型变量输入时只指明输入整数值中隐含的小数位数。在数值型变量输入时只指明输入整数值中隐含的小数位数。第27页/共56页几种常用的输入和输出格式字符型格式字符型格式$w w.或或$char$charw.w.数值数值输入输入格式格式w w.d d (若数据中含小数则若数据中含小数则d d无用无用)数值数值输出输出格式格式bestbestw w.(.(w w确省值为确省值为12,12,超过宽度超过宽度w w则用科学计数法显示则用科学计数法显示)数值输入格式数值输入格式commacommaw w.d d (可自动除去数据串中的逗号、空格、美圆号、
25、横线可自动除去数据串中的逗号、空格、美圆号、横线,保留数字、小数点保留数字、小数点)数值输出格式数值输出格式commacommaw.dw.d dollar dollarw.dw.d(整数部分每整数部分每3 3位加入逗号位加入逗号,后一格式还要再加后一格式还要再加$于数值前于数值前)第28页/共56页几种常用的输入和输出格式日期输入格式日期输入格式yymmddyymmddw w.mmddyy.mmddyyw w.ddmmyy.ddmmyyw w.日期输出格式日期输出格式yymmddxyymmddxw w.其中其中x x指定年、月、日间的分隔符指定年、月、日间的分隔符,它是下列字符之一:它是下列字
26、符之一:b(b(空格空格)、c(c(冒号冒号)、d(d(横线横线,此为缺省值此为缺省值)、n(n(无分隔无分隔)、p(p(点号点号)、s s(斜杠斜杠)。日期输入输出格式日期输入输出格式 datedatew w.(.(可转换可转换30MAY200030MAY2000形式日期形式日期)时间输入格式时间输入格式 timetimew w.时间输出格式时间输出格式 timew.dtimew.d实现实现hh:mm:ss.sshh:mm:ss.ss形式时间值与形式时间值与SASSAS数值的转换。数值的转换。日期时间输入格式日期时间输入格式 datetimedatetimew w.输出格式输出格式 date
27、timedatetimew.dw.d实现实现ddmmmyy hh:mm:ss.ssddmmmyy hh:mm:ss.ss形式日期时间值与形式日期时间值与SASSAS数值的转换。数值的转换。第29页/共56页Example:数字的输入与输出SASSAS数据集数据集数据值的内部存放格式并不一定与数据值的内部存放格式并不一定与该数据值的输入和输出格式一致该数据值的输入和输出格式一致12234.1212 234.1,comma8.2dollar8.28.212234.1212234.12输出格式输出格式8.2comma8.2dollar8.2实际存储数值实际存储数值12234.1212234.1122
28、3412 234.1234,$12 234.1234,12234.1234输入格式输入格式实际存储数值实际存储数值输入数据输入数据输出数据输出数据$1,234.561234.56dollar8.2第30页/共56页Example:日期的输入与输出20OCT97ddmmyy8mmddyy8yymmdd8输出数据输出数据输出格式输出格式data7ddmmyy8实际存储实际存储数值数值1380720/10/9710/20/9720/10/9797-10-20日期在日期在SASSAS内部以数值型变量存储,这个变量的值内部以数值型变量存储,这个变量的值等于该日期距离等于该日期距离19601960年年1
29、1月月1 1日日的天数的天数输入数据输入数据输入格式输入格式1960,1,1 01960,1,2 11960,2,1 31第31页/共56页DATA步中设定变量属性的语句LENGTH LENGTH 变量名变量名s s$长度长度 ;INFORMAT INFORMAT 变量名变量名s s 输入格式输入格式 ;FORMAT FORMAT 变量名变量名s s 输出格式输出格式 ;LABEL LABEL 变量名变量名=字符串输入格式字符串输入格式 ;ATTRIB ATTRIB 变量名变量名 属性列表属性列表 ;注意:注意:Length Length、INFORMATINFORMAT语句不会影响数值变量输
30、入值语句不会影响数值变量输入值的实际长度的实际长度,但可能会截断字符型变量的输入值长度但可能会截断字符型变量的输入值长度第32页/共56页变量属性语句Examplelength x y 6 z$2;label x=股票代码 y=股票类型;informat x y dollar7.2 z$2.;attrib x y informat=dollar7.2 length=6 label=股票代码 z informat=$2.;x=$1,2.55 y=$1,2.34 z=ab第33页/共56页ExampleDATADATA SAS SAS数据集名数据集名;语句语句设定变量属性设定变量属性;INPUTI
31、NPUT 语句语句;其他其他SASSAS语句语句;CARDSCARDS;/*/*说明:数据行结束分号需另起一行说明:数据行结束分号需另起一行*/*/RUNRUN;data XYZ;attrib name length=$12;input name$&age;cards;Lihua 20 Sun Li-ning 25 ;run;第34页/共56页Input 语句的基本输入模式在在SASSAS数据步中,对输入数据起核心作用的是数据步中,对输入数据起核心作用的是inputinput语句;根据数据源的格式,语句;根据数据源的格式,inputinput语句可以采用四种基语句可以采用四种基本输入模式:本输
32、入模式:按列输入(按列输入(ColumnColumn)格式化输入(格式化输入(FormatFormat)自由列表输入(自由列表输入(ListList)命名输入模式(命名输入模式(NameName)当然当然,对一些形式较复杂的源数据还可采用混合模式输入。对一些形式较复杂的源数据还可采用混合模式输入。InputInput语句默认的分隔符为空格语句默认的分隔符为空格第35页/共56页Data ExampleJustine F 12Bob Chare M 13MIT Boston 100023TsinghuaUniv Beijing 100084字符型数据中有空格字符型数据长度超过了8个字符数据中包含
33、日期型数据56-6-13 110067.12.15 120078 10 2 1300891001 140019960101 150020020901 1600第36页/共56页Data ExampleJustine F 1 2Bob M 13数字型数据中有空格数字和字符之间有空格数字含有逗号,括号,美元符号等Justine F-12Bob M 1,3Chare F(13)Mike M$13第37页/共56页Input语句格式INPUTINPUT设定设定1 1设定设定n n|;设定的格式:设定的格式:ListList:变量名变量名$输入格式输入格式.Column Column:变量名:变量名$始
34、列始列-|Formatted Formatted:(变量名列表变量名列表)(输入格式输入格式.).)指针:指针:n|+nn|+nNamed Named:变量名:变量名=$始列始列-|变量名变量名=$输入格式输入格式.输入换行控制:输入换行控制:不换行等待下一个:不换行等待下一个Input Input 语句语句:形成输出记录时输入也不换行:形成输出记录时输入也不换行为可选项,如果选择$则表示这是一个字符变量。第38页/共56页自由列表输入(自由列表输入(ListList)INPUT INPUT 变量名变量名$输入格式输入格式.输入使用条件输入使用条件:输入数据值之间至少有一个空格隔开;输入数据值
35、之间至少有一个空格隔开;用小数点表示表示缺失值;用小数点表示表示缺失值;字符型值的默认长度为字符型值的默认长度为8 8个字节,也可以用个字节,也可以用LENGTH,ATTRIB,LENGTH,ATTRIB,INFORMATINFORMAT语句规定长度;语句规定长度;数据必须是字符数据或标准的数值数据。数据必须是字符数据或标准的数值数据。data scores;input name$sex$age;cards;Justine F 12Bob M 13;run;第39页/共56页List输入格式修饰符:当原始数据是以空格为分隔符时,要想对变量值长度不一致的变量规定统一长度就必须用到该格式修饰符。规
36、定变量值是从非空格列中读取,直到第一次遇到以下三种情况之一,该变量值的读取过程才结束:下一个空格列;达到变量预先设定的长度(如果没有预先设定变量长度就是SAS默认字符长度8个字节);数据行结束。第40页/共56页Exampledata scores;input name$7.sex$age;cards;Justine F 12Bob M 13;run;data scores;input name:$7.sex$age;cards;Justine F 12Bob M 13;run;MIT Boston 100023TsinghuaUniv Beijing 100084字符型数据长度超过了8个字符
37、第41页/共56页List输入格式修饰符&字符型字符型输入值可能包含输入值可能包含一个或几个空格一个或几个空格。因为空格是列表读入方式默认的分隔符,所以,如果要读入的数。因为空格是列表读入方式默认的分隔符,所以,如果要读入的数据值本身包括空格时就必须用此格式符。据值本身包括空格时就必须用此格式符。第42页/共56页Exampledata;input name&$12.age;cards;Jiang Zhu 20Annie Zheng 31I.Altman 60;run;第一个观测第一个观测name name 中中Jiang Zhu(Jiang Zhu(包含一个空格包含一个空格),第二个观,第二
38、个观测为测为Annie Zheng Annie Zheng(包含一个空格(包含一个空格)。分隔符为两个空格。分隔符为两个空格。注意:因注意:因&有以上特性,有以上特性,数据之间应该用两个以上的空数据之间应该用两个以上的空格隔开格隔开。第43页/共56页按列输入(按列输入(ColumnColumn)INPUT INPUT 变量名变量名 始列始列-|列方式输入列方式输入使用条件使用条件原始数据输入值的位置在每个记录行相同的列中原始数据输入值的位置在每个记录行相同的列中;原始数据输入值是原始数据输入值是标准的数值格式标准的数值格式或或一般字符格式一般字符格式。列方式输入的列方式输入的特点特点原始数据
39、输入值可以按任意顺序读取;原始数据输入值可以按任意顺序读取;字符型原始数据中间可以有空格;字符型原始数据中间可以有空格;字符变量的长度不受缺省值的限制(但字符变量的长度不受缺省值的限制(但字符变量的长度不受缺省值的限制(但字符变量的长度不受缺省值的限制(但200200200200);可以重复读取原始数据记录行的某一部分。可以重复读取原始数据记录行的某一部分。读入的数据值不需要用空格或者其它分隔符隔开。读入的数据值不需要用空格或者其它分隔符隔开。23,00023,23.0,2.3E1,-23第44页/共56页Exampledata col1;input name$1-6 sex$8-9 heig
40、ht 11-13 weight 15-16;cards;王永成 男 176 65李宏志 男 181 78贺 佳 女 162 54;run;data col2;input year 7-8 mon 9-10 day 11-12;cards;110103751209223110101690215005;run;列方式不要求数据项之间分开,所以经常用来输入紧缩格式的列方式不要求数据项之间分开,所以经常用来输入紧缩格式的数据。比如,数据行为一批身份证号码,但只须读入其中的出数据。比如,数据行为一批身份证号码,但只须读入其中的出生年、月、日信息,就可以用例生年、月、日信息,就可以用例2 2。第45页/共
41、56页格式化输入(格式化输入(FormattedFormatted)INPUT INPUT (变量名列表变量名列表)(输入格式输入格式.).)格式化输入方式是格式化输入方式是INPUTINPUT语句读取语句读取非标准数据非标准数据的的唯一方法唯一方法。即在。即在变量名后面规定输入格式。这种输入方式不仅给出了该输入数变量名后面规定输入格式。这种输入方式不仅给出了该输入数据所对应的类型,而且给出了输入数据所在列的长度。据所对应的类型,而且给出了输入数据所在列的长度。n*n*规定在输入列表中后面的输入格式重复规定在输入列表中后面的输入格式重复n n次。次。data;data;Input(X1-X5)
42、(3*7.2,Input(X1-X5)(3*7.2,2*5.2);2*5.2);.例中,前例中,前3 3个变量个变量X1-X3X1-X3的格式为的格式为7.27.2,而后,而后2 2个个变量变量X4-X5X4-X5的格式为的格式为5.25.2datadata one;input x comma9.2;datalines;$1,000.22;run;run;例中,读入的数据为1000.22,这里要注意长度,该数据符号加上数字一共是九列。第46页/共56页格式化输入(格式化输入(FormattedFormatted)特点)特点指针控制符指针控制符n n 指将输入指针移动到第指将输入指针移动到第n
43、n列,列,+n+n指将输入指针向后移动指将输入指针向后移动n n列;列;源文件中各变量所在位置必须是规则的源文件中各变量所在位置必须是规则的;每个变量按输入格式读入指定的长度每个变量按输入格式读入指定的长度;可用指针控制下一个变量读入的始点可用指针控制下一个变量读入的始点;变量值可含空格,变量输入次序可以是任意的;任何字段或其部分可重复读入。变量值可含空格,变量输入次序可以是任意的;任何字段或其部分可重复读入。第47页/共56页Exampledata format;iuput name$6.sex$3.height 4.weight 3.;cards;王永成 男 176 65李宏志 男 181
44、 78贺 佳 女 162 54;或 iuput name$6.8 sex$2.+1 height:3.Weight:2.;或 iuput 8 sex$2.1 name$6.15 weight 2.11 height 3.;第48页/共56页命名方式输入(Name)INPUT INPUT 变量名变量名=$始列始列-|变量名变量名=$输入格式输入格式.data a;input date yymmdd10.fullshr stkcd=$lstknm=$;cards;2001-01-18 1486553100 stkcd=600001 lstknm=邯郸钢铁;run;data a;input date
45、 yymmdd10.stkcd=$lstknm=$fullshr;cards;2001-01-18 stkcd=600001 lstknm=邯郸钢铁 1486553100;run;一旦开始使用命名输一旦开始使用命名输入格式,则之后的变入格式,则之后的变量均使用命名方式输量均使用命名方式输入数据入数据第49页/共56页总结:Data步直接输入数据Libname Libname 数据库名数据库名 引擎引擎 ;DATADATA SAS SAS数据集名数据集名;语句语句设定变量属性设定变量属性;INPUTINPUT 语句语句;其他其他SASSAS语句语句;CARDSCARDS;RUNRUN;Lengt
46、h,Label,Informat,Format,Attrib语句四种输入格式:四种输入格式:按列输入(按列输入(ColumnColumn)格式化输入(格式化输入(FormatFormat)自由列表输入(自由列表输入(ListList)命名输入模式(命名输入模式(NameName)两级两级命名方式两级两级命名方式第50页/共56页图形界面交互式录入数据SASSAS系统有多种图形界面能交互式的将数据录入为系统有多种图形界面能交互式的将数据录入为SASSAS专用的数据文件。这里介绍其中几种:专用的数据文件。这里介绍其中几种:利用利用VIEWTABLEVIEWTABLE新建数据集新建数据集利用利用SA
47、S ASSIST SAS ASSIST 创建数据集创建数据集利用利用SAS INSIGHT SAS INSIGHT 创建数据集创建数据集利用利用SAS ANALYST SAS ANALYST 创建数据集创建数据集利用利用SAS LAB SAS LAB 创建数据集创建数据集第51页/共56页利用VIEWTABLE录入数据VIEWTABLE VIEWTABLE 是是SAS SAS 系统中一种通过可视的方式管理数据的工具。系统中一种通过可视的方式管理数据的工具。用用VIEWTABLE VIEWTABLE 建立建立SASSAS数据文件的方法:数据文件的方法:一一.在在SAS SAS 资源管理器窗口中资
48、源管理器窗口中,打开某数据库打开某数据库,然后在此窗栏内单击鼠标右键然后在此窗栏内单击鼠标右键,在菜单中选在菜单中选New New 按钮按钮(或或单击单击SASSAS主菜单上的主菜单上的File-New,File-New,也可在命令窗口条内键入也可在命令窗口条内键入SASSAS命令命令vt)vt)。二二.在随后出现的窗口、对话框内据提示选择。在随后出现的窗口、对话框内据提示选择。第52页/共56页利用SAS Assist录入数据SAS ASSISTSAS ASSIST是是SASSAS系统的一个重要的模块系统的一个重要的模块.它的作用是使得用户不需要编程就可以完成一些常用的数据管理、它的作用是使
49、得用户不需要编程就可以完成一些常用的数据管理、统计分析、输出图表。统计分析、输出图表。单击单击Solution Solution 菜单下的菜单下的ASSIST ASSIST 选项,启动选项,启动SAS ASSISTSAS ASSIST。在系统弹出的窗口中,。在系统弹出的窗口中,SAS ASSIST SAS ASSIST 进行一些进行一些初始设置;如果不希望在下次使用初始设置;如果不希望在下次使用SAS ASSIST SAS ASSIST 的时候仍然出现这个窗口,可以将的时候仍然出现这个窗口,可以将Show this window at Show this window at startup s
50、tartup 前面的叉号取消。不作修改,单击前面的叉号取消。不作修改,单击Continue Continue 按钮,就自动弹出了按钮,就自动弹出了SAS ASSIST SAS ASSIST 的工作区域。的工作区域。可可根据提示进行操作。根据提示进行操作。数据输入时先按数据输入时先按InsertInsert键键,结束时可用结束时可用endend命令!命令!第53页/共56页利用Insight和Analyst录入数据用用SASSAS主菜单上的主菜单上的Solutions-Anayisis-AnalystSolutions-Anayisis-Analyst选项可打开选项可打开AnalystAnaly