SAS统计分析概述(第一讲).ppt

上传人:qwe****56 文档编号:69500426 上传时间:2023-01-05 格式:PPT 页数:60 大小:414KB
返回 下载 相关 举报
SAS统计分析概述(第一讲).ppt_第1页
第1页 / 共60页
SAS统计分析概述(第一讲).ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《SAS统计分析概述(第一讲).ppt》由会员分享,可在线阅读,更多相关《SAS统计分析概述(第一讲).ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2023/1/41 学习要求学习要求 了解:了解:SASSAS系统的基本组成和特点。系统的基本组成和特点。熟悉:熟悉:SASSAS系统的显示窗口系统的显示窗口,变量的分类和变量的分类和SASSAS运算函运算函数。数。掌握:掌握:SASSAS系统程序结构和系统程序结构和SASSAS数据的建立和整理。数据的建立和整理。2023/1/42SASSAS软件系统简介软件系统简介vSASSAS发展概述发展概述SAS(Statistical SAS(Statistical Analysis Analysis System)System)是是一一个个管管理理数数据据、分分析析数数据据和和编编写写打打印印各各种

2、种形形式式报报告告的的组组合合软软件件系系统统,是是国国际际上上非非常常流流行行的的统统计计分分析析软软件件之之一一。19851985年年,美美国国SASSAS研研究究所所推推出出了了可可以以在在微微机机上上运运行行的的SAS/PCSAS/PC版版本本,此此后后,又又不不断断出出新新的的版版本本,功功能能不不断断增增强强,越越来来越越多多的的人人在在用用它它进进行行统统计计分分析析的的同同时时,也也把把它它用用作作数数据据管管理理软软件件。在在英英美美等等国国,能能熟熟练练使使用用SASSAS进进行行统统计计分分析析是是许许多多公公司司和和科科研研机机构构选选材材的的条条件件之之一一。美美国国

3、FDAFDA新新药药审审批批程程序序中中,新新药药试试验验结结果果的的统计分析规定只能用统计分析规定只能用SASSAS进行进行 ,目前已到,目前已到SAS9.2SAS9.2版本。版本。2023/1/43视视窗窗管管理理系系统统数数据据步步语语句句基基本本过过程程统统计计过过程程绘绘图图过过程程数数据据探探索索性性分分析析矩矩阵阵计计算算过过程程时时间间序序列列分分析析运运筹筹学学分分析析质质量量控控制制DMSDATABASESTATGRAPH INSIGHTIMLETSORQC图图1 SAS基本组成基本组成vSAS系统的基本组成系统的基本组成 2023/1/44vSASSAS的特点的特点1.语

4、语言言编编程程能能力力强强。SASSAS语语言言具具有有一一般般高高级级语语言言的的一一切切功功能能,有有100100多多个个函函数数,有有完完成成各各种种操操作作的的算算符符,能能读读各各种种类类型型的的数数据据,可可以以使使用用赋赋值值语语句句、条条件件语语句句、数数组组和和循循环环语语句句等等对对变变量量进进行行操操作作。SASSAS程程序序书书写写自自由由简洁。简洁。2.分分析析方方法法丰丰富富。SASSAS汇汇集集了了大大量量的的统统计计方方法法,从从简简单单描描述述统统计计量量的的计计算算到到多多因因素素分分析析,从从时时间间序序列列分分析析到到质质量量控控制制等等。仅仅SAS/S

5、TATSAS/STAT就就包包括括了了8 8类类方方法法2828个个分分析析过程。过程。2023/1/453.对对数数据据的的连连续续处处理理。SASSAS能能同同时时处处理理多多个个输输入入文文件件,能能从从几几个个数数据据集集中中组组合合变变量量值值、观观测测值值,建建立立子子集集,连连接接、合合并并和和修修改改数数据据。SASSAS可可存存储储一一个个合合法法的的结果或中间结果,以便以后使用。结果或中间结果,以便以后使用。4.可组合性。可组合性。由于由于SASSAS是模块式结构,用户可按自是模块式结构,用户可按自己的要求,在己的要求,在SAS/BASESAS/BASE的基础上选择合适的模

6、块,以的基础上选择合适的模块,以组成自己需要的系统。组成自己需要的系统。2023/1/46SAS程序和程序和SAS数据集数据集安装安装直接启动直接启动SAS安装界面安装界面启动启动v由程序栏启动。由程序栏启动。v 由文件名直接启动由文件名直接启动v 建立桌面快捷方式直接启动建立桌面快捷方式直接启动2023/1/47q界面(显示管理系统):界面(显示管理系统):三个基本窗口三个基本窗口vEDITOR编辑窗口编辑窗口:编辑编辑SASSAS程序。程序。SAS8.0SAS8.0以上版本以上版本有以下两个编辑窗口有以下两个编辑窗口:1.1.增强型编辑窗口增强型编辑窗口(Enhancededitor):)

7、:他只在他只在WindowsWindows操操作下才有作下才有,是是SASSAS系统缺省提供的编辑窗口。它除了提供一系统缺省提供的编辑窗口。它除了提供一般的文本输入和编辑功能外般的文本输入和编辑功能外,还提供许多有用的编辑功能还提供许多有用的编辑功能,它包括它包括:l 对对SASSAS程序不同的语句用不同的颜色显示并进行词法检查。程序不同的语句用不同的颜色显示并进行词法检查。l 程序段的展开和搜索功能程序段的展开和搜索功能,便于从宏观上了解程序的结构。便于从宏观上了解程序的结构。l 程序输入时自动缩进功能。程序输入时自动缩进功能。2023/1/48 2.2.程序编辑窗口程序编辑窗口(Progr

8、am editor):(Program editor):只具有只具有SASSAS一般编辑功一般编辑功能能.键入命令键入命令pgmpgm或在菜单中选或在菜单中选ViewView Program editorProgram editor。v LOG 日志窗口:日志窗口:程序运行过程、时间、错误信息程序运行过程、时间、错误信息(红色显示红色显示)。)。v OUTPUT输出窗口:输出窗口:当程序运行无误,且有结果输当程序运行无误,且有结果输出时显示。出时显示。2023/1/49其它窗口:其它窗口:v ExplorerExplorer游览器窗口游览器窗口(显示当前(显示当前SASSAS库的名字和路径)库

9、的名字和路径)在菜单中选在菜单中选ViewContentsOnly,可激活在左侧固可激活在左侧固定位置上的游览器。定位置上的游览器。此外,还可用以下任一种方式打开一个新的包含此外,还可用以下任一种方式打开一个新的包含SAS文文件库目录树的游览窗口:件库目录树的游览窗口:l键入命令键入命令Explorer并按回车。并按回车。l在菜单中选在菜单中选ViewExplorer。l在工具栏点击图标在工具栏点击图标2023/1/410v Results 结果窗口:结果窗口:帮助游览和管理所提交帮助游览和管理所提交SAS程序的程序的输出结果。输出结果。在菜单中选在菜单中选ViewResultsvKeys窗窗

10、(功能键窗(功能键窗):显示和设置快捷方式的功能键,键显示和设置快捷方式的功能键,键入命令入命令Keys或按或按F9即可激活即可激活。2023/1/411qSAS运行菜单运行菜单v“File”调用、储存、打印文件等。调用、储存、打印文件等。v“Edit”用于编辑文件。用于编辑文件。v“View”可供选择窗口可供选择窗口。v“Tools”选择选择SAS的功能。的功能。v“Run”用于运行本机文件用于运行本机文件其中:其中:Submit是是运行程序,运行程序,Recall是是调回前面用过的程序。调回前面用过的程序。v“Solutions”提供提供SAS更多的分析、管理功能。更多的分析、管理功能。2

11、023/1/412q菜单下方的菜单下方的工具条工具条 New(清除(清除log窗口和窗口和output窗口的内容窗口的内容,建立新文件),建立新文件),Open(打开文件),打开文件),Save(储存文件),储存文件),Print(打印),打印),View(预览),预览),Cut(裁剪),裁剪),Copy(复制),复制),Paste(粘贴)粘贴),Undo(恢复),恢复),Explorer(游览窗口)(游览窗口),Submit(运行),(运行),Clear all(删除删除editor窗口内容窗口内容),Help(提供帮助)提供帮助)v“Help”可随时提供帮助咨询可随时提供帮助咨询2023/

12、1/413qSAS文件系统文件系统q*.sas7bdatSAS数据集数据集q*.sasEDITOR视窗输出视窗输出SAS程序文件程序文件q*.logLOG视窗输出文件视窗输出文件q*.lstOUTPUT视窗口输出文件视窗口输出文件2023/1/414qSAS中的常用变量中的常用变量 v数值型变量数值型变量 变量名变量名由由132个字符组成,以英文字母个字符组成,以英文字母(AZ,包括大写和小写)或下划线,包括大写和小写)或下划线(_)开头,其余可以是英文字母、开头,其余可以是英文字母、数字或下划线,不能包含中文字符、数字或下划线,不能包含中文字符、%、&、#、!和空格符等、!和空格符等字符。字

13、符。如如AGE,X2,X1_1,_ab等都是合法的,等都是合法的,1X,XY-1,X&,ab1,等都是不合法的。等都是不合法的。变量值过大或过小的数可用科学记数法,如:变量值过大或过小的数可用科学记数法,如:1.785E-19即即为为1.78510-19,5.25E12即为即为5.251012。2023/1/415v字符型变量字符型变量字符型变量名字符型变量名后加后加“$”号表示号表示,如如NAME$,SEX$等。字符型变量值可以是任何的字符,如:等。字符型变量值可以是任何的字符,如:ZhangHua,男男,上海上海等都是一个字符变量。等都是一个字符变量。qSAS运算符与常用函数运算符与常用函

14、数v算术运算符算术运算符(乘方),(乘方),(乘),(乘),/(除),除),+(加),加),-(减减)。v比较运算符比较运算符=或或EQ(等于),(等于),=或或NE(不等于),(不等于),或或GT(大于),(大于),=或或GE(大于等于),(大于等于),或或LT(小于)(小于),25&B30;A25|B30;NOT(A3)v常用函数常用函数ABS(x)x的绝对值;的绝对值;SQRT(x)x的平方根;的平方根;EXP(x)e(2.71828)的的x次方;次方;LOG(x)x的自然对数(以的自然对数(以e为底);为底);LOG2(x)x的以的以2为底的对数;为底的对数;LOG10(x)x的普的普

15、通对数(以通对数(以10为底)。为底)。2023/1/417qSAS程序结构程序结构由三部分组成;由三部分组成;SAS语句以一个关键词开始语句以一个关键词开始,以分号以分号(;)结束。结束。v数据步数据步以以data语句语句开始,用于创建和处理数据集。开始,用于创建和处理数据集。Data语句的功能:语句的功能:(1)标志数据步的开始;标志数据步的开始;(2)命名将要创建的命名将要创建的SAS数据集。数据集。data语句格式:语句格式:data数据集名;数据集名;Input语句的功能:语句的功能:(1)读入由语句指定的数据列;读入由语句指定的数据列;(2)为相应数据域定义变量名;为相应数据域定义

16、变量名;(3)确定变量的读入模式。确定变量的读入模式。Input语句格式:语句格式:input变量名变量名变量类型变量类型;2023/1/418Cards语语句句的的功功能能:标标志志数数据据块块的的开开始始,格格式式为为:cards;或或datalines;(单独占一行单独占一行)v过程步过程步以以PROC语句开始,对数据进行分析和处理时,需要调用语句开始,对数据进行分析和处理时,需要调用SAS过程,过程,SAS过程是一系列应用程序。过程是一系列应用程序。语句格式:语句格式:PROCSAS过程名过程名选项选项;常用的常用的选项选项为:为:data=数据集名数据集名;如:如:procprint

17、;/*调用现成的调用现成的SAS过程,进行显示数据集过程,进行显示数据集*/v提交程序步提交程序步Run;/*在在程程序序最最后后,指指示示过过程程步步或或数数据据步步结结束束,可可以以提提交交程程序序*/2023/1/419如:如:dataesr;/*建立临时数据集建立临时数据集esr.sd2,自动放在自动放在saswork子目录下子目录下*/Inputx;/*指明要输入的变量指明要输入的变量*/Cards;/*标志数据区开始标志数据区开始*/3986557;Procprint;Run;2023/1/4202023/1/421Log窗输出2023/1/422Output窗输出窗输出2023/

18、1/423q程序运行程序运行-在编辑窗输入程序后在编辑窗输入程序后l点击图标点击图标l按功能键按功能键“F8”l在命令行(窗)键入在命令行(窗)键入“submit”l在在Run下拉菜单中选下拉菜单中选“submit”q窗口内容保存窗口内容保存l在命令窗口键入在命令窗口键入file路径路径文件名文件名l点击图标点击图标l在在file下拉菜单中选下拉菜单中选“save”或或“saveas”l只有编辑窗口只有编辑窗口(editor窗窗)才能打开文件才能打开文件2023/1/424q常用的快捷键常用的快捷键F1Help命令,进入帮助视窗。命令,进入帮助视窗。F4recall命令命令,用于程序编辑窗用于

19、程序编辑窗,将前面提交的程序将前面提交的程序调调回,可多次使用。回,可多次使用。F5切换到增强型程序编辑框。切换到增强型程序编辑框。F6切换到切换到log视窗。视窗。F7切换到切换到output视窗。视窗。F8submit命令。命令。F9Keys命令,进入功能键视窗。命令,进入功能键视窗。2023/1/425SAS数据集建立数据集建立-用用input和和cards语句直接输入语句直接输入datachild;/*建立临时数据集建立临时数据集child.sas7bdat,自动放在自动放在saswork子目录下子目录下*/inputidx1$x2x3x4x5x6;/*指明要输入的变量指明要输入的变量

20、,$为字符型变量为字符型变量*/cards;/*标志数据区开始标志数据区开始,数据之间以一个或几个空格分隔数据之间以一个或几个空格分隔*/1m3295.514.053.549.642m3592.013.052.041.613m3389.012.553.535.81254m176168.053.582.0100.14255f3091.011.048.035.39256f3391.011.547.044.98521f178163.051.079.087.42;/*标志数据区结束,分号必须单独一行标志数据区结束,分号必须单独一行*/run;2023/1/426SAS数据集建立数据集建立-数据读入数据

21、读入data a1;data a1;input id x1$x2 x3 x4;input id x1$x2 x3 x4;cards;cards;1 m 32 95.51 m 32 95.52 m 35 92.0 13.02 m 35 92.0 13.03 m 33 89.0 12.53 m 33 89.0 12.5;proc print;proc print;run;run;结果结果:OBS ID X1 X2 X3 X4OBS ID X1 X2 X3 X41 1 m 32 95.5 2.01 1 m 32 95.5 2.02 3 m 33 89.0 12.52 3 m 33 89.0 12.5

22、data a1;data a1;input id x1$x2 x3;input id x1$x2 x3;cards;cards;1 m 32 95.51 m 32 95.52 m 35 92.0 13.02 m 35 92.0 13.03 m 33 89.0 12.53 m 33 89.0 12.5;proc print;proc print;run;run;结果结果:OBS ID X1 X2 X3OBS ID X1 X2 X3 1 1 m 32 95.5 1 1 m 32 95.5 2 2 m 35 92.0 2 2 m 35 92.0 3 3 m 33 89.0 3 3 m 33 89.0

23、2023/1/427q不分行符不分行符的使用的使用data esr;data esr;input x input x;/*/*每读入一条记录后每读入一条记录后,数据指针保持原位不换行数据指针保持原位不换行,继续读下一条记录继续读下一条记录*/cards;cards;3 9 8 6 5 5 7 3 10 8 10 4 3 9 8 6 5 5 7 3 10 8 10 4 ;proc means;proc means;run;run;结果:结果:Analysis Variable:XAnalysis Variable:X N Mean Std Dev Minimum Maximum N Mean S

24、td Dev Minimum Maximum -12 6.5000000 2.5405797 3.0000000 10.0000000 12 6.5000000 2.5405797 3.0000000 10.0000000 -2023/1/428q缺失值的输入缺失值的输入-以以.表示,缺失值不进入分析表示,缺失值不进入分析data child;data child;input id x1$x2 x3 x4 x5 x6;input id x1$x2 x3 x4 x5 x6;cards;cards;1 m 32 95.5 14.0 53.5 49.64 1 m 32 95.5 14.0 53.5

25、49.64 2 m 35 .13.0 52.0 41.61 2 m 35 .13.0 52.0 41.61 3 m 33 89.0 12.5 53.5 35.81 3 m 33 89.0 12.5 53.5 35.81 254 m 176 168.0 53.5 82.0 100.14 254 m 176 168.0 53.5 82.0 100.14 255 f 30 91.0 11.0 48.0 35.39 255 f 30 91.0 11.0 48.0 35.39 256 f 33 91.0 11.5 47.0 44.98 256 f 33 91.0 11.5 47.0 44.98 521

26、f 178 163.0 51.0 79.0 87.42 521 f 178 163.0 51.0 79.0 87.42 ;proc means;proc means;run;run;2023/1/429 The MEANS ProcedureVariable N Mean Std Dev Minimum MaximumVariable N Mean Std Dev Minimum Maximum-ID 7 184.5714286 194.9639771 1.0000000 521.0000000 ID 7 184.5714286 194.9639771 1.0000000 521.000000

27、0 X2 7 73.8571429 70.4779601 30.0000000 178.0000000 X2 7 73.8571429 70.4779601 30.0000000 178.0000000 X3 6 116.2500000 38.2410120 89.0000000 168.0000000 X3 6 116.2500000 38.2410120 89.0000000 168.0000000 X4 7 23.7857143 19.4825930 11.0000000 53.5000000 X4 7 23.7857143 19.4825930 11.0000000 53.500000

28、0 X5 7 59.2857143 14.7361719 47.0000000 82.0000000 X5 7 59.2857143 14.7361719 47.0000000 82.0000000 X6 7 56.4271429 26.2540446 35.3900000 100.1400000 X6 7 56.4271429 26.2540446 35.3900000 100.1400000-2023/1/430SAS数据集建立数据集建立-临时数据集和永久数据集临时数据集和永久数据集SAS数据集名称的表示方式数据集名称的表示方式:两级文件名两级文件名(库关联名库关联名.数据集名数据集名)库

29、关联名和数据集名的命名规则和变量名的命名规则是相同的库关联名和数据集名的命名规则和变量名的命名规则是相同的.q临时数据集临时数据集:存放在存放在librarieswork子目录中的数据集,一旦子目录中的数据集,一旦退出退出sas,会被自动删除。它的库关联名默认为会被自动删除。它的库关联名默认为work,均省略不均省略不写。前面所生成的数据集都是临时数据集,退出写。前面所生成的数据集都是临时数据集,退出sas后都会被删后都会被删除。除。2023/1/431q永久数据集永久数据集:通过两级文件名的形式,将生成的数据集存放通过两级文件名的形式,将生成的数据集存放到到workwork以外的路径中(库关

30、联名所指向的路径),即可以生成以外的路径中(库关联名所指向的路径),即可以生成永久数据集。即使退出永久数据集。即使退出SASSAS也还存在,可供以后调用。也还存在,可供以后调用。定义库关联名:定义库关联名:libname命令命令libname库关联名库关联名盘符盘符:路径路径;如:如:libnamedwc:teach;路径必须实际存在。路径必须实际存在。例:例:libnamedwc:teach;datadw.esr;inputx1x2x3;(略略)2023/1/432q从已建立的从已建立的SAS数据集中读入数据建立新的数据集中读入数据建立新的SAS数数据集据集-set命令命令libnameLc

31、:teach;dataL.child;setchlid;procprint;run;dataa;setL.child;procprint;run;datab;seta;run;注:注:Proc Proc 步的操作对象总是最步的操作对象总是最新生成的新生成的SASSAS数据集。只有数据集。只有procproc步时,也可通过在步时,也可通过在procproc语句后加语句后加data=data=指定要分析的数据集。如指定要分析的数据集。如:proc means data=L.chlid;proc means data=L.chlid;run;run;2023/1/433SAS数据集建立数据集建立-从

32、其它数据集转入从其它数据集转入q利用利用file下拉菜单中的下拉菜单中的importdata功能功能,直接将其他,直接将其他类型的外部数据文件,转为类型的外部数据文件,转为SAS数据集。可转入:数据集。可转入:v文本型数据文件(文本型数据文件(*.txt)可用可用Notebook(记事本)输记事本)输入数据,首行为变量名,制表键入数据,首行为变量名,制表键(Tab)分隔分隔。vdbase数据库文件数据库文件(*.dbf)vexcel数据文件数据文件(*.(*.xlsxls)用用Excel输入数据,首行为变输入数据,首行为变量名。量名。vAccess表格表格2023/1/434有的数据可通过粘贴

33、的方法贴到有的数据可通过粘贴的方法贴到edioredior窗后,加入窗后,加入inputinput和和cardscards等语句,生成等语句,生成sassas数据集。数据集。q 用用infile语句建立语句建立SAS数据集数据集 语句格式语句格式 infile 盘符:盘符:文件夹文件夹文件名文件名.txt(或或dat);首先用任何文字处理软件来建立一个数据文件,但一定首先用任何文字处理软件来建立一个数据文件,但一定用纯文本格式保存。该纯本数据文件是不包含变量名的,用纯文本格式保存。该纯本数据文件是不包含变量名的,必须知道那一列数据是哪一个变量值,调用使用必须知道那一列数据是哪一个变量值,调用使

34、用inputx1x2 指明。指明。2023/1/435例 新建纯文本文件新建纯文本文件“xy”,路径为路径为e:sasxsas1xy.txt。数据数据为:为:56 34 57 35 58 36 59 37 60 38 61 39 62 40 63 41 64 43 61 28data Li_1;infile e:sasxsas1xy.txt;input x y;proc print;run;OBS X Y 1 56 34 2 57 35 3 58 36 4 59 37 5 60 38 6 61 39 7 62 40 8 63 41 9 64 43 10 61 282023/1/436SAS数据

35、集的整理数据集的整理-变量操作变量操作q变量重命名:变量重命名:rename旧变量名旧变量名=新变量名;新变量名;如如renameid=x0;q变量赋值或修改变量值:变量赋值或修改变量值:变量名变量名=表达式;表达式;如如y=log10(x);q累加语句累加语句累加变量累加变量+表达式表达式(或变量名或变量名)累累加加语语句句能能把把语语句句中中表表达达式式的的运运算算结结果果或或变变量量值值累累加加到到累累加加变变量上,并作为记录送到数据集中。量上,并作为记录送到数据集中。累累加加变变量量必必须须是是数数值值型型,表表达达式式是是符符合合SASSAS语语言言规规则则的的表表达达式式。累加变量

36、的初始值由系统自动设置为零。累加变量的初始值由系统自动设置为零。2023/1/437例例dataabc;inputabc;sum=a+b+c;sumz+sum;cards;2122265741236716231923;procprint;run;OBS A B C SUM SUMZ 1 21 22 26 69 69 2 5 7 4 16 85 3 12 3 6 21 106 4 7 16 23 46 152 5 19 2 3 24 1762023/1/438q用用keep或或drop语句整理变量名表语句整理变量名表keep;(指指定定要要保保留留在在数数据据集集的的变变量)量)drop;(指指

37、定定要要从从数数据据集集中中删删除除的的变量)变量)q结合结合if语句语句进行条件赋值进行条件赋值ifthen;else;2023/1/439例 data keep;data keep;input x1 x2 x3;input x1 x2 x3;x4=log10(x1);x4=log10(x1);keep x1 x2 x4;keep x1 x2 x4;rename x4=lgx1;rename x4=lgx1;Cards;Cards;20 34 32 24 50 93 20 34 32 24 50 93 34 43 56 42 56 88 34 43 56 42 56 88 ;proc pri

38、nt;proc print;run;run;注:注:keep语句等价于语句等价于dropx3;OBS X1 X2 LGX1 1 20 34 1.30103 2 24 50 1.38021 3 34 43 1.53148 4 42 56 1.623252023/1/440data drop;data drop;set child;set child;if id200 then group=1;if id200 then group=1;else group=2;else group=2;drop x3 x4 x5 x6;drop x3 x4 x5 x6;proc print;proc print

39、;run;run;注:dropdrop语句等价于语句等价于 keep keep id x1 x2 groupid x1 x2 group;OBS id X1 X2 GROUPOBS id X1 X2 GROUP 1 1 m 32 11 1 m 32 1 2 2 m 35 12 2 m 35 1 3 3 m 33 13 3 m 33 1 4 254 m 176 24 254 m 176 2 5 255 f 30 25 255 f 30 2 6 256 f 33 26 256 f 33 2 7 521 f 178 27 521 f 178 2例2023/1/441SAS数据集的整理数据集的整理-记

40、录操作记录操作q数据子集化数据子集化v记录输出记录输出语句格式:语句格式:if;“将符合表达式的记录输出到新建的数据集。将符合表达式的记录输出到新建的数据集。”语句格式:语句格式:ifthenoutput;elseoutput;Output的的使使用用:一一般般SASSAS在在datadata步步语语句句全全部部执执行行完完后后才才将将数数据据送送入入新新数数据据集集。但但遇遇到到outputoutput语语句句时时,会会马马上上将将当当前前的的数数据据送送入入新新数数据据集集;此此时时,如如果果outputoutput语语句句后后还还有有其其他他datadata步语句,则不再被执行。步语句,

41、则不再被执行。2023/1/442例1dataa;inputx;cards;23568910;datab;seta;ifx3;/*只只将将x3的的变变量量值值由由数数据据集集a赋值给数据集赋值给数据集b*/procprint;run;v记录删除记录删除ifthendelete;“将符合表达式的变量从数据集中删除。将符合表达式的变量从数据集中删除。”OBS X 1 5 2 6 3 8 4 9 5 102023/1/443data b1;set child;data b1;set child;ifx1=m;procprint;Run;OBS ID X1 X2 X3 X4 X5 X6OBS ID X

42、1 X2 X3 X4 X5 X6 1 1 m 32 95.5 14.0 53.5 49.64 1 1 m 32 95.5 14.0 53.5 49.64 2 2 m 35 92.0 13.0 52.0 41.61 2 2 m 35 92.0 13.0 52.0 41.61 3 3 m 33 89.0 12.5 53.5 35.81 3 3 m 33 89.0 12.5 53.5 35.81 4 254 m 176 168.0 53.5 82.0 100.14 4 254 m 176 168.0 53.5 82.0 100.14data b1 b2;data b1 b2;set child;se

43、t child;ifx1=mthenoutputb1;elseoutputb2;run;例22023/1/444例例3dataa;inputidx1x2x3;cards;1012121552301524114350421602527035480273;datac1;seta;ifx1=1thendelete;procprint;run;结果:结果:OBSIDX1X2X31101212301523504214602525703546802732023/1/445例例4datac2;seta;ifx1=0thenoutput;ifx3=2thenx3=2;(执执行行了了output语语句句,此此语

44、语句句不不再再执执行行。)procprint;run;结果:结果:OBSIDX1X2X31101212301523504214602525703546802732023/1/446例例5datac3;seta;ifx3=2thenx3=2;ifx1=0thenoutput;procprint;run;结果:结果:OBSIDX1X2X31101212301523504214602525703526802722023/1/447SAS数据集的整理数据集的整理-记录操作记录操作q数据排序数据排序 对数据集数据进行排序。对数据集数据进行排序。语句格式:语句格式:proc sort 选择项选择项;by

45、descending 变量名;变量名;sort过程按过程按by变量名变量名的值进行排序。的值进行排序。选择项选择项:1.如果对非当前数据集排序,须用如果对非当前数据集排序,须用data指出要排指出要排序的数据集名。如:序的数据集名。如:procsortdata=L.px1;2.排序后如果想要产生一新数据集,数据集名可用排序后如果想要产生一新数据集,数据集名可用“out=“指出,如:指出,如:procsortout=L.px2;如缺省,则原数如缺省,则原数据集将被输出的数据集替换。据集将被输出的数据集替换。descending 选择为降序,不选择为升序。如:选择为降序,不选择为升序。如:byde

46、scendingx1;2023/1/448例例 Libname Le:sasxsas1;data L.class1;input name$kc1 kc2 kc3 kc4;sum=(kc1+kc2+kc3+kc4);cards;赵刚赵刚 83 76 68 88王宏王宏 76 77 80 69孙伟孙伟 75 82 78 78李华李华 80 78 85 81;proc print;proc sort;by descending sum;proc print;Proc sort out=L.class2;by sum;proc print;run;2023/1/449 OBS NAME KC1 KC2

47、 KC3 KC4 SUM 1 赵刚赵刚 83 76 68 88 315 2 王宏王宏 76 77 80 69 302 3 孙伟孙伟 75 82 78 78 313 4 李华李华 80 78 85 81 324OBS NAME KC1 KC2 KC3 KC4 SUM 1 李华李华 80 78 85 81 324 2 赵刚赵刚 83 76 68 88 315 3 孙伟孙伟 75 82 78 78 313 4 王宏王宏 76 77 80 69 3022023/1/450OBS NAME KC1 KC2 KC3 KC4 SUM 1 王宏王宏 76 77 80 69 302 2 赵刚赵刚 83 76 6

48、8 88 315 3 孙伟孙伟 75 84 78 78 315 4 李华李华 80 78 85 81 3242023/1/451q数据集的纵向合并数据集的纵向合并 将两个或多个数据集的变量值纵向合将两个或多个数据集的变量值纵向合 并。并。语句格式:语句格式:set;例如:有两个数据集例如:有两个数据集A和和B,将两者纵向合并成新数据集将两者纵向合并成新数据集AB的程序如下:的程序如下:data AB;set A B;run;SAS数据集的整理数据集的整理-记录操作记录操作2023/1/452 若若A、B两数据集的变量完全相同,则新数据集两数据集的变量完全相同,则新数据集AB的变的变量与两个数据

49、集变量一致;若量与两个数据集变量一致;若A、B量数据集的变量不完全一量数据集的变量不完全一致,则新数据集致,则新数据集AB除含有两个数据集共同的变量外,还包括除含有两个数据集共同的变量外,还包括各自的变量,对于原数据集中没有的变量,其值为缺失值。各自的变量,对于原数据集中没有的变量,其值为缺失值。例如,数据集例如,数据集A、B的变量值分别如下:的变量值分别如下:数据集数据集 A中的数据中的数据 NO AGE SEX HEIGHT 01 16 m 178 02 16 m 170 03 17 m 175 04 18 m 169 数据集数据集B中的数据中的数据NO AGE SEX HEIGHT WE

50、IGHT11 16 f 160 5512 17 f 165 6013 17 f 159 502023/1/453新数据集新数据集AB的数据的数据OBS NO AGE SEX HEIGHT WEIGHT 1 01 16 M 178 .2 02 16 M 170 .3 03 17 M 175 .4 04 18 M 175 .5 11 16 F 160 55 6 12 17 F 165 60 7 13 17 F 159 502023/1/454q数据集的横向合并数据集的横向合并 将两个或多个数据集的变量值横向合将两个或多个数据集的变量值横向合 并。并。v语句格式语句格式 merge;by识别字段识别

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 财经金融

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁