下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一节 SAS概述,SAS系统全称为Statistics Analysis System,最早由北卡罗来纳大学的两位生物统计学研究生编制,并于1976年成立了SAS软件研究所,正式推出了SAS软件。SAS是用于决策支持的大型集成信息系统,但该软件系统最早的功能限于统计分析,至今,统计分析功能也仍是它的重要组成部分和核心功能。SAS现在的版本为9.0版,大小约为1G。,经过多年的发展,SAS已被全世界120多个国家和地区的近三万家机构所采用,直接用户则超过三百万人,遍及金融、医药卫生、生产、运输、通讯、政府和教育科研等领域。在英美等国,能熟练使用SAS进行统计分析是许多公司和科研机构选材的条件之
2、一。在数据处理和统计分析领域,SAS系统被誉为国际上的标准软件系统,并在9697年度被评选为建立数据库的首选产品。堪称统计软件界的巨无霸。在此仅举一例如下:在以苛刻严格著称于世的美国FDA新药审批程序中,新药试验结果的统计分析规定只能用SAS进行,其他软件的计算结果一律无效!哪怕只是简单的均数和标准差也不行!由此可见SAS的权威地位。,1、数据获取:可以从以各种各样形式存储的数据中获取有用的信息 2、数据管理:用户可以根据自己的要求方便的管理这些数据 3、数据分析:SAS系统提供了功能强大的数据分析工具,除了可以计算一些常用的统计量之外,还可以进行大量的统计推断 4、数据表示:可以根据用户的需
3、要给出各种各样的输出形式 5、应用软件开发:提供了灵活、方便的应用程序开发环境,1.1 SAS可以做什么,1.2 SAS系统安装,注: 1、安装盘要留足够的空间(至少3G) 2、安装前先将日期修改至1999年 3、安装完之后先不要运行,将源程序Crack目录下的Sashost.dll文件拷贝到安装目录下(SASV8)将原文件覆盖以解除时间限制,1.3 SAS系统的概貌,一、SAS窗口 1.资源管理器窗口(Explorer):主要用于管理SAS文件以及其它类型文件的快捷方式 2.编辑窗口(Editor):主要用于输入程序、编辑程序、提交程序(不同部分用不同颜色显示自动检查语法错误) 3.日志窗口
4、(Log):提交运行信息,完成的实际操作,花费的时间,错误 4.输出窗口(Output):提交运行结果 5.结果窗口(Result):使用户可以方便的查找、管理运行的SAS程序的结果,二、SAS主要菜单功能 1.File菜单: Import Data将其它格式的数据导入。可以是 Excel,Access,Dbase等形式的数据文件 Export Data将SAS系统内的数据导出为Excel, Access,Dbase等格式的数据或自定义格式的数据,2.Edit菜单:编辑功能 3.View菜单:打开各个窗口 4.Tools菜单:对SAS系统环境进行设置 5.Run菜单:提交程序运行 6.Solu
5、tions菜单:统计分析模块 7.Windows菜单:管理窗口形式 8.Help菜单:提供系统帮助文件,1.4 SAS命令行和工具栏,第2章 SAS基本概念,2.1 SAS数据集,数据集(dataset) SAS数据集(SAS Datasets)可以看作由若干行和若干列组成的表格,类似于一个矩阵,但各列可以取不同的类型值,比如整数值、浮点值、时间值、字符串、货币值等等。比如,前面的例子生成了一个名为C0401的数据集,它的逻辑形式如下表:,表1数据集的逻辑形式,Variable,Observation,数据集的每一行叫做一个观测(Observation),每列叫做一个变量(Variable)。
6、 SAS数据集等价于关系数据库系统中的一个表,实际上一个SAS数据集有时也称作一个表。在数据库术语中一个观测称作一个记录,一个变量称作一个域。 在上述数据集中有5个观测,分别代表5个学生的情况,而每个学生有5个数据,分别为姓名、性别、数学成绩、语文成绩、平均分,所以此数据集有5个变量,变量名依次为NAME、SEX、MATH、CHINESE和AVG。,数据集要有名字,变量要有名字,所以SAS中对名字(数据集名、变量名、数据库名,等等)有约定:SAS名字由英文字母、数字、下划线组成,第一个字符必须是字母或下划线,名字最多用8个字符,大写字母和小写字母不区分。 比如,name,abc,aBC,x1,
7、year12,_NULL_等是合法的名字,且abc和aBC是同一个名字,而class-1(不能有减号)、a bit(不能有空格)、serial#(不能有特殊字符)、Documents (超长)等不是合法的名字。,一、临时数据集 例:将上面的成绩表格建立名为score的临时数据集。 Data score; Input name$ sex$ math chinese; avg=(math+chinese)/2; cards; 李明 男 92 98 张红艺 女 89 106 王思明 男 86 90 张聪 男 98 109 刘颖 女 80 110 ; Run; 运行该程序之后,我们可以在SAS的wor
8、k目录下找到它,不过该数据集是临时数据集,关闭SAS后就消失了。,二、建立永久数据集 例:将上面的成绩表格建立名为score的永久数据集。 Data sasuser.score; Input name$ sex$ math chinese; avg=(math+chinese)/2; cards; 李明 男 92 98 张红艺 女 89 106 王思明 男 86 90 张聪 男 98 109 刘颖 女 80 110 ; Run; 运行该程序之后,我们可以在的sasuser目录下找到它,它是一个永久数据集,即使关闭SAS,下次打开后仍然在sasuser目录下可以找到它。,2.2 SAS数据库,在
9、SAS系统中,数据集是通过数据库组织在一起的,数据库其实是比数据集高一级的目录,SAS中有3个预定义数据库:Work、Sasuser、Sashelp,用户可以新建自己的数据库。 数据集的单水平名:临时数据集用单水平名,如test 数据集的两水平名:永久数据集用两水平名,如。Sasuser.test,例:将上面的成绩建立一个永久数据集,并将该数据集保存在E盘根目录下的一个已有文件夹mydata中。 libname tt E:mydata; 注意:一定要确保文件夹存在 Data tt.score; Input name$ sex$ math chinese; avg=(math+chinese)/
10、2; cards; 李明 男 92 98 张红艺 女 89 106 王思明 男 86 90 张聪 男 98 109 刘颖 女 80 110 ; Run; 运行该程序之后,我们可以在SAS的临时建立的tt目录下找到它,同时它被保存在E:mydata中,它是一个永久数据集。,2.3 SAS程序,数据步(Data Step):以关键字data开始,用于生成、计算、整理数据 过程步(Procedure Step):以关键字proc开始,用于数据分析、生成报告 例:编辑程序将一组股票的代码和价格读入一个名为stock的数据集 Data stock; input code price; cards; 60
11、0381 18.7 600329 14.2 . 000956 12.5 ; Run; Proc means data=stock; var price; Run;,课堂练习:P27 3 、4,3. 建立SAS数据集,3.1 编辑程序导入数据,一、新建数据集 Data people; input birth death infantdeath country$; cards; 24.7 5.7 30.8 albania . ; Run;,注: (1) 数据排列格式必须统一 (2) 缺失数据用点号表示 (3) 字符型不超过8个字符 (4) 变量名与数据值对应 这种方法仅仅限于数据量不大的时候若是海
12、量数据,用这个方法基本是不可能的,可从其他文件中导入数据。 例:若上述数据存放在名为Stock的文本文件中,编辑程序将其读入数据集Stock1。 Data people1; infile f:people.txt ; input birth death infantdeath country$; Run;,二、由已有数据集建立新的数据集 例:将people复制到people2。 Data people2; set people; Run;,例:从已有的people中得到一个只含国家名和死亡率的数据集。,Data people3; set people; keep death country;
13、Run;,Data people3; set people; drop birth infantbirth; Run;,例: 数据变换 Data people4; set people; birth=log(birth); death=death/100; Run;,3.2 利用Viewtable新建数据集,步骤: 1、打开Explorer鼠标右键Table 2、设置列属性(注:一定要选好变量的类型) 3、输入数据 4、保存数据,3.3 将其它格式的数据文件导入数据集,一、标准格式转换 步骤: 1、File菜单Import Data 2、选择文件的格式(standard data) 3、选择路
14、径 4、选择保存位置 注:原有数据集第一行必须是变量名,4.数据集的修改与管理,1.数据集的复制 Set语句是数据集的一个基本操作,用于从一个或多 个已存在数据集中读取观测数据,生成新的数据集。 基本格式为: Data 新数据集名; Set 原有数据集名(Firstobs=n Obs=n); Keep(drop) 变量名; Rename 原变量名=新变量名; Where 读取条件; Label 变量名=表签名;,例:从sasuser.score数据集中读取女生的信息存放到数据集jj Data sasuser.score; Input name$ sex$ math chinese; avg=(
15、math+chinese)/2; cards; 李明 男 92 98 张红艺 女 89 106 王思明 男 86 90 张聪 男 98 109 刘颖 女 80 110 ; Run; data jj; set sasuser.score; where sex=女;(chinese90 ,例:将score1 和score2 串接起来,Data score1; Input name$ sex$ math ;Cards; Alice f 90 Tom m 89 ;run; Data score2; Input name$ sex$ math chinese ;Cards; ann f 91 88 ja
16、ck m 89 88 ;run; data score; set score1 score2; run;,3.数据集的并接,Data score1; Input name$ sex$ math ; Cards; Alice f 90 Tom m 89 ;run; Data score2; Input name$ english chinese ; Cards; Alice 88 95 Tom 65 98 Ann 95 85 ;run; Data score ; Merge score1 score2; Run;,4.数据集的删除 基本格式: If 条件 then delete;,5.数据集的修
17、改update 语句: data 新数据集名; update 原数据集名 更新新数据名; by 变量名; run;,例:将例1中数据集score中的Alice 的语文成绩修改为85 data part;input name$ chinese; cards; Alice 85 ;run; data new ; update score part; by name ; run;,5.1 SAS语言的组成,一、SAS语句 SAS语句由关键词开头,包含SAS名字、运算符、特殊字符,以分号结束。数据步由data开头,过程步由proc 开头。 SAS名字由18个字母、数字、下划线组成 关键词和名字不区分大
18、小写,二、SAS表达式 表达式就是把常量、变量、函数调用用运算符、括号连接起来得到的计算结果 SAS常量 数值型:12, 7.5 2.5E10 字符型:code price 日期型:13Jul2002 d 表示2002年7月13 时间型 :14:20 t 表示14点20分 时间日期型:13 Jul 2002:14:20 dt,3. SAS变量 数值型:整数,定点实数,浮点实数,占8个字节 字符型:默认占8个字符,但可以用Length 语句自定义长度,如: length name$ 20; 4. SAS运算符 算术运算符:,*,/,* 比较运算符:(eq),=(ne),=,:取两者较大 :取两者
19、较小,三、SAS程序规则 由语句构成,以分号结束,可一句多行,也可一行多句,空格长度任意 关键词和名字不区分大小写,但字符型数据值要区分 注释:/*.*/,5.2 SAS用作一般高级语言,一、赋值语句 格式: 变量名表达式 例: data; x1=1; x2=2; x3=3; x4=4; x=5; avg=(x1+x2+x3+x4)/4; higher=(x15); y=sin(x)*3; default= .; Run;,二、输出语句 Put语句:put语句后面列出要输出的各项,每一 项可以是变量名或字符串,不能为数值常量或表达 式,各项之间用空格分开;结果显示在log窗口。 例: data
20、 g; a=53; b=a*3; put value of a is a ; value of b is b . ; run; 输出结果:value of a is 5; value of b is 125.,例:指定a显示在第1015列,b在2025列,保留2位小数。 data; a=53; b=a*3; put a 10-15 .2 b 20-25 .2; run;,三、分支语句 If 条件 then 执行语句; 例:使用if语句在b大于100时输出。 data; a=53; b=a*3; if b100 then put b is greater than 100; Run; 输出结果:
21、125 is greater than 100,例:在b100时将b减去100,然后输出b的值(执行多语句) data; a=53; b=a*3; if b100 then do; c=b-100; put new value of b is c; end; Run; 输出结果:new value of b is 25,2. If 条件 then 执行语句A; else 执行语句B; 例:在b100时输出其减100的结果,在b3; b=a*3; if b100 then do; c=b-100; put value of b is c; end; else put value of b is
22、b; Run; 输出结果:?,3. 多重嵌套 例:在b100时继续判断它是否大于200,如果大于200就输出“b=200”,否则就输出“1003; b=a*3; if b100 then do; if b200 then put b=200; else put 100b200; end; else put value of b is b; Run; 输出结果:?,4. Select when 语句 格式:,select (表达式); when (表达式的值) 执行语句A; when (表达式的值) 执行语句B; when (表达式的值) 执行语句C; otherwise 执行语句D; end;
23、,select ; when (表达式表达式的值) 执行语句A; when (表达式表达式的值) 执行语句B; when (表达式表达式的值) 执行语句C; otherwise 执行语句D; end;,或,例:根据月份判断属于哪个季节。,Data; a=11; select (a); when (1,2,3) put 春; when (4,5,6) put 夏; when (7,8,9) put 秋; when (10,11,12) put 冬; end; Run;,Data; a=11; select; when (a in (1,2,3) put 春; when (a in (4,5,6)
24、 put 夏; when (a in (7,8,9) put 秋; when (a in (10,11,12) put 冬; end; Run;,四、循环语句 Do 变量起始值 to 结束值 by 步长; 循环体; end; 例: 计算 123 .+100 Data a; s=0; do i=1 to 100 by 1; s=s+i ; end; Put s; Run;,例:输出一个1,3,5,7,19的立方表。data;DO i = 1 TO 20 BY 2;j = i*3;put I j;END;run;,Do while (循环满足条件); 循环体; end; 例:计算 123 .+10
25、0 Data; s=0; i=1; do while (i=100); s=s+i ; i=i+1; end; put s; Run;,例:判断1333333是不是素数:data;x=1333333;i=3;DO WHILE (mod(x,i) = 0);i=i+2;END;if ix then put x 不是素数;else put x 是素数;run;,3. Do until (循环终止条件); 循环体; end; 例:计算 123 .+100 Data; s=0; i=1; do until (i100); s=s+i ; i=i+1; end; put s; Run;,例:输出02之间
26、的正弦函数值 Data; s=0; i=0; do until (i100); a=6.28* i /100; sin=sin(a); put a sin; i=i+1 ; end; Run;,例:使用leave语句输出0之间的正弦函数值 Data; s=0; i=0; do until (i100); a=6.28* i /100; sin=sin(a); if sin0 then leave; put sin; i=i+1 ; end; Run;,6.1 算术函数,Abs(x): 求绝对值 Max(x, y, z,.):最大值 Min(x, y, z,.):最小值 Mod(x,y): x
27、除以y的余数 Sign(x): x的符号 Sqrt(x): x的平方根,6.2 逻辑函数,Band(x,y): 0和1的与运算 Bor(x,y): 0和1的或运算,6.3 字符函数 6.4 字符串匹配函数 6.5 货币转换函数 6.6 金融函数 6.7 目录函数,6.8 数学函数,Exp(x): 指数函数 Gamma(x): 伽玛函数 Log(x): 自然底对数函数 Log2(x): 以2位底的对数函数 Log10(x): 以10为底的对数函数,6.9 概率与密度函数,Poisson(m,n): 泊松分布概率值 Probbeta(x,a ,b): beta分布 Probbnml(p,n,m):
28、二项分布 Probchi(x, df): 卡方分布 Probf(x, ndf,ddf): F分布 Probbnrm(x,y,r):标准二元正态函数 Probnorm(x):标准正态分布 Probt(x,df):t分布概率值,例:计算标准正态分布表 data c; do i=0 to 300; x=i/100; P=Probnorm(x); put x P; end; run;,6.10 分位数函数,Betainv(p,a,b): 分布的分位数 Cinv(p,df): 卡方分布 Finv(p, ndf, ddf): F分布 Probit(p):标准正态分布 Tinv(p,df): t分布,例:计
29、算标准正态分布的p分位数,以0.005为一个单位 data b; p=0; Do while(p=1); x=Probit(p); Put p x; p=p+0.05; end; run;,6.11 随机函数,Normal(seed): 返回正态分布的随机数 Ranbin(seed,n,p): 二项分布 Ranexp(seed): 指数分布 Rannor(seed): 正态分布 Ranpoi(seed,n): 泊松分布 Ranuni(seed): 均匀分布 Uniform(seed): 均匀分布,例:生成100个服从标准正态分布的随机数 data norm ; do i= 1 to 100;
30、normal = rannor(0); output norm; end; run; 注:OUTPUT语句是一个可执行语句,它使得当前观测被写到语句指定的数据集中。,例:生成100个服从均值为170,方差为36的正态分布的随机数 data norm; do i= 1 to 100; normal = 170 + 6 * rannor(0); output; end; run;,例:生成100个服从均值为10的泊松分布的随机数 data possion; do i= 1 to 100; poss = ranpoi(0, 10); output; end; run;,例:生成100个服从区间(3,
31、7)的均匀分布的随机数 data uniform; do i= 1 to 100; unifor = 3+4*uniform(0); output; end; run;,例:利用随机模拟的方法近似计算值。 data a; s=0; do i=1 to 1000000; x=-1 + 2* ranuni(0); y=-1 + 2* ranuni(0); z=x*2 + y*2; if z=1 then s=s+1; end; pi=s*4/1000000; put pi= pi; run;,1,1,模型,例:分别利用贝努利大数定律以及辛欣大数定理近似计算定积分,data a; s=0; do i
32、=1 to 1000000; x=0 + 1* ranuni(0); y=0 + 1* ranuni(0); z=x*2; if yz then s=s+1; output; end; jifen=s/1000000; put jifen; run;,利用辛欣大数定理 data a; s=0; do i=1 to 1000000; x=0 + 1* ranuni(0); y=x*2; s=s+y; end; jifen=s/1000000; put jifen; run;,6.12 样本统计函数,Css(x1,x2,.):离差平方和 Cv (x1,x2,.) :变异系数 Kurtosis (x
33、1,x2,.) :峰度(四阶矩) Max (x1,x2,.) :最大值 Min (x1,x2,.) :最小值 Mean (x1,x2,.) :算术平均值 Missing(numeric-expression|character-expression):检验是否有缺失值,N (x1,x2,.) :样本数,不包括缺失值 Nmiss (x1,x2,.) :样本缺失值个数 Range (x1,x2,.) :极差 Skewness (x1,x2,.) :偏度 Std (x1,x2,.) :标准差 Stderr (x1,x2,.) : 均值估计的标准误差 Sum (x1,x2,.) :样本和 Uss (x
34、1,x2,.) :平方和 Var (x1,x2,.) : 方差,例: Data; a=css (1,3,5,7,9); b=mean(1,3,5,7,9); c=std (1,3,5,7,9); d=skewness (1,3,5,7,9); put a b c d ; Run; 输出结果:40 5 3.1622776602 0,6.13 地区及邮政编码函数 6.14 三角函数 6.15 截断函数 6.16 变量信息函数 6.17 日期时间函数,SAS过程步简介,格式: proc 过程名 data=数据集 选项; 过程语句/选项; 过程语句/选项; . run;,9.2 print 过程,作用
35、:把数据集的内容输出 格式: Proc print data=数据集; title 标题名; footnote 脚注名; var 变量列表; by 分类变量; where 条件; Run;,注:过程语句可以根据需要选取,例:打印score数据集所有内容 Proc print data=sasuser.score; Run; 例:在score中只显示姓名、数学、语文成绩 Proc print data=sasuser.score; var name math chinese; Run; 注:运行结果中多了obs一列,可以用noobs去掉 Proc print data=sasuser.score
36、 noobs; var name math chinese; Run;,例:输出所有女生的数学、英语成绩 Proc print data=sasuser.score; var name sex math english; where sex in (f); Run;,例:以中文显示女生的成绩单以及各变量 Proc print data=sasuser.score noobs label; title 女生成绩单; label name=姓名 sex=性别 math=数学 chinese=语文 english=英语; where sex in (f); Run;,例:按照性别分类输出数据集并附上
37、脚注 proc sort data=sasuser.score; by sex; run; proc print data=sasuser.score; footnote 按性别分类; by sex; run;,例: 计算所有学生数学成绩的总和 Proc print data=sasuser.score; sum math; Run; 例:分别计算男生和女生的数学成绩总和 Proc sort data=sasuser.score; by sex; Proc print data=sasuser.score; sum math; by sex; Run; 运行后输出结果:,注:一定要先排序,-
38、sex=f - Obs name math chinese english 1 Alice 90 85 91 2 Jenny 93 90 83 3 Kate 97 83 82 4 Bennie 82 79 84 5 Hellen 85 74 84 6 Wincelet 90 82 87 7 Chris 89 84 87 8 Janet 86 65 67 sex 712 - sex=m - Obs name math chinese english 9 Tom 95 87 84 10 Mike 80 85 80 11 Fred 84 85 89 12 Alex 92 90 91 13 Cook
39、75 78 76 14 Butt 77 81 79 15 Geoge 86 85 82 16 Tod 89 84 84 sex 678 = 1390,9.3 tabulate过程,作用:输出统计量表,对数据集的数据汇总 格式: Proc tabulate data=数据集名; class 分类变量; var 分析变量; table 页维说明 ,行维说明 ,列维说明 /选项; Run;,例:输出报表,反映男、女数学成绩总和 Proc tabulate data=sasuser.score; class sex; var math; table sex, math; Run;,例: 输出报表,反映
40、男女生数学、语文成绩的平均分、方差 Proc tabulate data=sasuser.score; class sex; var math chinese; table sex, (math chinese)*(mean var); Run; 结果为:,例:使用统计量N(个数)和PCTN(百分比)计算性别的频数 Proc tabulate data=sasuser.score; class sex; table sex* (N PCTN); Run;,例:输出报表,不但包括按照性别分类的数学、语文成绩的均值和方差,还包括对所有记录计算两门功课的均值和方差 Proc tabulate dat
41、a=sasuser.score; class sex; var math chinese; table sex all, (math chinese)*(mean var); Run;,例:以中文标签输出报表 Proc tabulate data=sasuser.score; class sex; var math chinese; table sex all, (math chinese)*(mean var); keylabel mean=均值 var=方差 all=总计; label sex=性别 math=数学 chinese=语文; Run;,9.4 sort过程,作用:对数据集中的
42、记录排序 格式: Proc sort data=数据集名; by 变量名; Run;,例:将所有学生三门功课成绩按照数学成绩排序 Proc sort data=sasuser.score; by math; Run; Proc print; Run; 注: 系统默认升序(从小到大),如果要降序则要添加descending,例:按降序排列 Proc sort data=sasuser.score; by descending math; Run; 例:按数学、语文、英语排序 Proc sort data=sasuser.score; by math chinese english; Run; 注
43、:程序先根据数学排,再在数学相同的情况下根据语文排,最后根据英语排,7.描述性统计,7.1描述统计量,1.描述位置的统计量 均值mean 中位数median 中数mode 百分数percentile,2.表示离散程度的统计量 方差variance 标准差 standard deviation(std) 标准误standard error of mean(stderr) 变异系数coefficient of variation(cv) 极差range 校正平方和 corrected sum of square(css) 未校正平方和uncorrected sum of square(uss),3
44、.表示分布形态的统计量 1.偏度skewness(sk) 2.峰度Kurtosis(K),7.2means过程,作用:输出变量的简单统计量 格式: Proc means data=数据集名 选项; var 分析变量; by 分组变量; Run;,例:输出score中三门成绩的基本统计量情况 Proc means data=sasuser.score; var math chinese; Run; 输出结果为: The MEANS Procedure Analysis variable :math chinese Variable N Mean Std Dev Minimum Maximum _
45、 math 16 86.8750000 6.2383224 75.0000000 97.0000000 chinese 16 82.3125000 6.1937468 65.0000000 90.000000 _,univariate 过程:输出变量更多的统计量 格式: Proc univariate data=数据集 选项; var 分析变量; by 分组变量; Run;,7.3 univariate 过程,作用:输出变量更多的统计量 格式: Proc univariate data=数据集 选项; var 分析变量; by 分组变量; Run;,例:对score中数学成绩进行分析 Proc
46、 univariate data=sasuser.score; var math ; Run; 输出结果包括5部分:,1、统计量的各阶矩 The UNIVARIATE Procedure Variable: math Moments N 16 Sum Weights 16 Mean 86.875 Sum Observations 1390 Std Deviation 6.23832242 Variance 38.9166667 Skewness -0.3424103 Kurtosis -0.4542321 Uncorrected SS 121340 Corrected SS 583.75 Co
47、eff Variation 7.18080279 Std Error Mean 1.55958061,2、基本统计量 Basic Statistical Measures Location Variability Mean 86.87500 Std Deviation 6.23832 Median 87.50000 Variance 38.91667 Mode 86.00000 Range 22.00000 Interquartile Range 8.00000 NOTE: The mode displayed is the smallest of 3 modes with a count o
48、f 2.,3、检验均值是否为0 Tests for Location: Mu0=0 Test -Statistic- -p Value- Students t t 55.70408 Pr |t| = |M| = |S| .0001,4、分位数表 Quantiles (Definition 5) Quantile Estimate 100% Max 97.0 99% 97.0 95% 97.0 90% 95.0 75% Q3 91.0 50% Median 87.5 25% Q1 83.0 10% 77.0 5% 75.0 1% 75.0 0% Min 75.0,5、极端观测值 Extreme
49、Observations -Lowest- -Highest- Value Obs Value Obs 75 1 90 12 80 3 93 14 82 4 95 15 84 5 97 16,7.4 freq过程,作用:给出离散变量的分布情况 格式: proc freq data=数据集名; tables 变量名; Run;,注:这里使用tables来指定分析变量,而不是用var,例:计算score数据集中男女生的比例 Proc freq data=sasuser.score; tables sex; Run; 运行后输出结果: The FREQ Procedure Cumulative Cu
50、mulativ sex Freq Percent Freq Percent f 8 50.00 8 50.00 m 8 50.00 16 100.00,例:分析数学成绩的分布情况 Proc freq data=sasuser.score; tables math; Run; 运行后输出结果:,The FREQ Procedure Cumulative Cumulative math Frequency Percent Frequency Percent 75 1 6.25 1 6.25 77 1 6.25 2 12.50 80 1 6.25 3 18.75 82 1 6.25 4 25.00
51、84 1 6.25 5 31.25 85 1 6.25 6 37.50 86 2 12.50 8 50.00 89 2 12.50 10 62.50 90 2 12.50 12 75.00 92 1 6.25 13 81.25 93 1 6.25 14 87.50 95 1 6.25 15 93.75 97 1 6.25 16 100.00,7.5 corr过程,作用:分析变量间的相关关系 格式: Proc corr data=数据集; var 变量名 变量名; Run;,例:计算score中语文、数学、英语成绩之间的相关系数 Proc corr data=sasuser.score; var
52、 chinese math; Run; 运行后输出结果:,8.统计图形,条形图:描述每个属性变量及其取值频数 饼图:描述每个属性变量取值频数所占百分比 直方图: 散点图: 概率图:,直方图与条形图不同点: 频率分布直方图针对连续型变量 频率分布条形图针对离散型变量 由于分组数据具有连续性,直方图的各矩形通常是连续排列,用于显示连续型变量的次数分布;而条形图则是分开排列。 频率分布直方图针对连续型变量 频率分布条形图针对离散型变量,8.1 gchart过程,作用:绘制直方图、饼形图、三维直方图 格式: Proc gchart data=数据集; vbar/ pie/ block 变量; Run;
53、,例:分别绘制数学成绩的直方图和饼形图 Proc gchart data=sasuser.score; vbar math; Run; Proc gchart data=sasuser.score; pie math(/type=percent); Run;,例:绘制三维直方图,分析不同性别的数学成绩分布情况 Proc gchart data=sasuser.score; block math/group=sex; Run;,8.2gplot 过程,作用:绘制散点图和曲线图 格式: Proc gplot data=数据集; symbol 曲线类型; plot 竖轴变量*横轴变量; Run;,例
54、:绘制英语对语文成绩的散点图,并加上标题和脚注 Title1 Final Examination; Title2 class1, Grade 3 ; Footnote 2007/7/10; Proc gplot data=sasuser.score; symbol i=join v=star color=green; plot math*chinese; Run;,例:绘制以英语成绩为因变量,语文成绩为自变量的二次回归曲线并加上95的置信线 Proc gplot data=sasuser.score; symbol i=rqcli95 v=star color=red; plot math*c
55、hinese; Run;,8.3g3d过程与gcontour过程 g3d作用:绘制三维曲面图 格式: Proc g3d data=数据集; plot 变量x * 变量y=变量z; Run;,Gcontour作用:绘制等高线图 格式: Proc gcontour data=数据集; plot 变量x * 变量y=变量z; Run;,例:绘制 z=x2+y2的三维曲面图 Data test; do x=-3 to 3 by 0.1; do y=-3 to 3 by .01; z=x*2 + y*2; output; end; end; Run; Proc g3d data=test; plot x
56、*y=z; Run;,例:绘制 z=x2+y2的等高线图 Proc gcontour data=test; plot x*y=z; Run;,9.参数假设检验,9.1 正态性检验,1、绘制变量直方图并在图上拟合分布曲线 利用Grphs中Histogram可以绘制变量直方图并拟合分布曲线。 例:以上节normal数据集中X为对象绘制直方图,并在直方图上拟合正态分布曲线。 操作步骤: (1)打开Normal文件:solution-analysis-analyst-FileOpen By SAS NameSasusernormalOK,(2)在Grphs下选Histogram,单击绘图变量X,再单击
57、Analysis将其加入,(3)选择Fit在直方图上拟合正态分布曲线,单击Fit弹出对话框,(3)选择Normal,单击OK回到原对话框,再单击OK即得:,2、概率图 在直方图基础上我们可以猜想变量是服从正态分布的,通过绘制概率图可以来证实我们的想法。概率图将数值排序,给出每个数值对应的分位数,然后打点作图。如果这些点呈现线性特征,说明他们与理论分布相符,同时又在图像上加上一条给定分布的曲线,并给出分布的系数。,例:绘制Normal数据集中X的概率图,步骤如下: (1)首先选择Graphs下Probality Plot,弹出对话框,(2)单击X,再单击Analysis,然后选择分布为Normal,单击Ok得到概
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质量员成本责任制度
- 资产验收责任制度
- 超市日化区责任制度
- 车站岗位责任制度范本
- 轨道线路包保责任制度
- 输煤主控岗位责任制度
- 运输部生产责任制度
- 通信工作责任制度
- 配电值班长责任制度
- 酒店安保岗责任制度
- 2026兵团职工考试试题及答案大全
- 煤矿掘进安全培训课件
- 防城港柳钢多元产业园之金属回收产业园项目-杰灿公司厂房环评报告
- 中国石化品牌管理办法
- 剖析QFII投资行为:选股偏好与交易策略的实证洞察
- 2025至2030药用包装材料市场行业发展趋势分析与未来投资战略咨询研究报告
- 水磨石施工合同(标准版)
- 江苏苏州2016-2024年中考满分作文103篇
- 2024年9月28日江西省南昌市五方面人员面试真题及答案解析
- 医院收银岗位年终总结
- 水利水电工程自动化技术试题及答案
评论
0/150
提交评论