




已阅读5页,还剩96页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基础统计描述与SAS 第二讲 基础统计描述与SAS 主讲人:张国权 邮编: 手机SAS程序结构 程序结构 在SAS系统中任何一个完整的处理过程均 可分为两大步数据步和过程步 数据步将不同来源的数据读入SAS系统建立起 SAS数据集。由DATA语句开始,以RUN语句结束。 数据可以由外部或过程读入;或者由CARDS语句 开始,直接输入数据,数据输入完后提行单独加“;”结 束 过程步调用SAS系统中已编好的各种过程来处理和 分析数据集中的数据。 每一个过程步均以PROC语句开始,RUN语句结束 ,并且每个语句后均以“;” 一 SAS基础服务过程 CHART、GPLOT(绘图)SORT(排序) PRINT(按要求输出结果)STANDARD(数据标准化) Base SAS功能 1、Base/SAS软件是SAS系统的基本部分,主要用于:信 息存储和检索、数据修改 与程序设计、报表生成、基础 统计计算、文件管理。 2、Base/SAS软件还提供了几十个Base/SAS过程,主要 用于基础统计计算、生成报表、绘图及文件管理等方面, 是更简捷、易用、有效的方法。 3、按用途可归为四大类: 基础统计计算、报表生成、得分方法、实用方法 (二)、过程简介 (1)、SAS基础统计过程:分别计算单个变量的关于位置 、变异性及形状等方面的基础统计量;关于检验均值假 设的有关统计量;关于检验正态性假设的有关统计量; 还有两个变量的有关相关性统计量。 例:MEANS,SUMMARY,UNIVARIATE,CORR, FREQ,TABULATE,CHART (2)、SAS报表过程:生成一些信息显示。显示的信息可 以是数据的列表,或图形显示。许多统计过程也用报表 来输出结果。 例:PRINT,PLOT,CHART,FORMS,CALENDAR ,TIMEPLOT,TABULATE (3) SAS得分过程:用来产生包含新变量的输出数据集。这 些新变量是输入数据集中数据的变换。 例:STANDARD,RANK (4)、SAS实用过程:完成中间操作或数据处理的特殊形式。 例:SORT,FORMAT,TRANSPOSE,APPEND, CONTENTS,DAASETS 1 对数据排序的sort过程 简介 sort过程常用于将数据集分类排序,以便其它SAS过程通 过使用BY语句,可以直接调用它。 语句说明 PROC SORT 选择项; BY descending (递减) 变量; 程序段: proc sort data=a1 out=list1; by name; proc print; title按姓名排序; proc sort data=a1 out=list2; by room name; proc print; title 按房间号码和姓名排序; run; 1.学生成绩按平均分排序后输出 title 0401班学生成绩排名; data c0401; input name $ 1-10 sex $ math chinese; avg = math*0.5 + chinese/120*100*0.5; cards; 李明 男 92 98 张红艺 女 89 106 王思明 男 86 90 张聪 男 98 109 刘颍 女 80 110 ; proc print;run; proc sort data=c0401; by descending avg; proc print;run; 0401班学生成绩原始输出 0401班学生成绩排名 Obs name sex math chinese avg 1 李明 男 92 98 86.8333 2 张红艺 女 89 106 88.6667 3 王思明 男 86 90 80.5000 4 张聪 男 98 109 94.4167 5 刘颍 女 80 110 85.8333 0401班学生成绩按平均分排序(递减)后输出 0401班学生成绩排名 Obs name sex math chinese avg 1 张聪 男 98 109 94.4167 2 张红艺 女 89 106 88.6667 3 李明 男 92 98 86.8333 4 刘颍 女 80 110 85.8333 5 王思明 男 86 90 80.5000 学生成绩按分组排序程序 data a; input NAME$ x y g$ ; datalines; a 83.00 10 1 b 119.95 11 2 c 145.22 16 3 d 129.98 23 4 e 37.95 31 1 f 103.49 47 2 g 39.95 49 3 h 37.95 51 1 i 65.79 52 2 j 69.95 63 4 k 100.79 72 1 l 33.12 89 2 m 88.05 91 3 n 97.95 99 1 ; proc sort data=a out=b; by g x; run; proc print data=b; var NAME g x y ; run; Obs NAME g x y 1 e 1 37.95 31 2 h 1 37.95 51 3 a 1 83.00 10 4 n 1 97.95 99 5 k 1 100.79 72 6 l 2 33.12 89 7 i 2 65.79 52 8 f 2 103.49 47 9 b 2 119.95 11 10 g 3 39.95 49 11 m 3 88.05 91 12 c 3 145.22 16 13 j 4 69.95 63 14 d 4 129.98 23 学生成绩按分组递增排序输出 2.学生成绩按分类输出 data a; input NAME$ x y g$ ; datalines; a 83.00 10 1 b 119.95 11 2 c 145.22 16 3 d 129.98 23 4 e 37.95 31 1 f 103.49 47 2 g 39.95 49 3 h 37.95 51 1 i 65.79 52 2 j 69.95 63 4 k 100.79 72 1 l 33.12 89 2 m 88.05 91 3 n 97.95 99 1 ; data aa; set a; if y=80 then yy=“优秀“; proc print data=aa; var NAME g yy x y ; run; 学生成绩按分类输出 Obs NAME g yy x y 1 a 1 不称职 83.00 10 2 b 2 不称职 119.95 11 3 c 3 不称职 145.22 16 4 d 4 不称职 129.98 23 5 e 1 不称职 37.95 31 6 f 2 称职 103.49 47 7 g 3 称职 39.95 49 8 h 1 称职 37.95 51 9 i 2 称职 65.79 52 10 j 4 称职 69.95 63 11 k 1 称职 100.79 72 12 l 2 优秀 33.12 89 13 m 3 优秀 88.05 91 14 n 1 优秀 97.95 99 2 对数据集进行转置的TRANSPOSE过程 OBS A B C OBS _NAME_ COL1 COL2 COL3 1 1 2 3 1 A 1 4 7 2 4 5 6 2 B 2 5 8 3 7 8 9 3 C 3 6 9 一、简介 该过程读入一个SAS数据集并通过转置创建一个新的数据集作为 它的唯一输出集。原数据集中的行变为列、列变为行。 data a; input x y z; cards; 1 2 3 4 5 6 7 8 9 ; proc transpose; var x y z; proc print; run; 语句说明 1、proc transpose语句中的选择项:data、out、phefix、name 2、var语句 3、copy语句 4、by语句 5、id语句 三、例题 例3:使用COPY语句的转置结果 data a; input x y z; cards; 1 2 3 4 5 6 ; proc transpose; copy z; proc print; run; Obs z _NAME_ COL1 COL2 1 3 x 1 4 2 6 y 2 5 使用ID语句后转置结果; data b; input a b x$; cards; 1 2 x 3 4 y 5 6 . 7 8 z ; proc transpose; id x; proc print; run; Obs _NAME_ x y z 1 a 1 3 7 2 b 2 4 8 对数据进行标准化的standard过程 proc standard m=0 s=1; var 变量表 ; Freq 变量 ; Weight 变量 ; By 变量 ; 语句说明 freq:该语句用来指定输入SAS数据集中的一个数值变量, 它的值表示该观测重复的次数。 weight:该语句规定输入SAS数据集中的一个数值变量,它 的值用来对相应观测加权。 by:由by变量定义的几个观测组分开的分析结果。 二、输出SAS数据集包含给定变量的标准化变量。 标准化值计算公式: 3.数据标准化 data a; input NAME$ x y g$ ; datalines; a 83.00 10 1 b 119.95 11 2 c 145.22 16 3 d 129.98 23 4 e 37.95 31 1 f 103.49 47 2 g 39.95 49 3 h 37.95 51 1 i 65.79 52 2 j 69.95 63 4 k 100.79 72 1 l 33.12 89 2 m 88.05 91 3 n 97.95 99 1 ; Proc print;var x y;run; proc standard m=0 s=1; var x y ; run; Proc print;var x y;run; 数据标准化 标准化前 Obs x y 1 83.00 10 2 119.95 11 3 145.22 16 4 129.98 23 5 37.95 31 6 103.49 47 7 39.95 49 8 37.95 51 9 65.79 52 10 69.95 63 11 100.79 72 12 33.12 89 13 88.05 91 14 97.95 99 标准化后数据 Obs x y 1 0.01735 -1.34650 2 1.03053 -1.31307 3 1.72344 -1.14595 4 1.30555 -0.91199 5 -1.21793 -0.64460 6 0.57919 -0.10982 7 -1.16309 -0.04297 8 -1.21793 0.02387 9 -0.45455 0.05730 10 -0.34048 0.42496 11 0.50516 0.72577 12 -1.35037 1.29397 13 0.15583 1.36082 14 0.42729 1.62821 4 4. 秩得分过程(rank) 简介 通过SAS数据集中的观测计算一个或几个数值变量的秩得分, 这些秩得分被输出到新的SAS数据集中。 语句 proc rank ties=mean; var 变量表 ; Ranks rankx; Run; 二、秩及秩的应用 rank把数值从最小到最大排列,对最小值赋予秩1,对第二小 值赋予秩2,等等一直到秩为n,即未丢失的观测个数。出现结 值时,其秩可以赋予平均秩或最高秩、最低秩。 许多非参数统计方法使用秩而不用原始变量值。例如,对一个 数据集首先通过rnak得到响应变量的秩,然后使用anova,glm过 程至秩拟合方差分析模型。 三、实例 测得两组数据,并对每个数据求比率得分。 (1):5 5 6 7 9 12 13 15 18 21 (2):17 18 20 25 34 43 data aa; input x g ; datalines; 5 1 5 1 6 1 7 1 9 1 12 1 13 1 15 1 18 1 21 1 17 2 18 2 20 2 25 2 34 2 43 2 44 2 ; proc rank ties=mean; var x ; Ranks rankx; run; Proc print;run; Obs x g rankx得分 1 5 1 1.5 2 5 1 1.5 3 6 1 3.0 4 7 1 4.0 5 9 1 5.0 6 12 1 6.0 7 13 1 7.0 8 15 1 8.0 9 18 1 10.5 10 21 1 13.0 11 17 2 9.0 12 18 2 10.5 13 20 2 12.0 14 25 2 14.0 15 34 2 15.0 16 43 2 16.0 17 44 2 17.0 分支结构 如果需要在某条件满足时执行某一操作,可以用 IF 条件 THEN 程序块 ELSE 程序块 的结构,其中Else语句及其后的程序块可以省略。 需要注意的是,如果程序块只有一句,则可直接 写出,否则应以DO开始,以END结束。 5. 条件语句与用循环语句 比如, if max(a)0 THEN DO; PUT X为正数; x = 2*x; PUT x=; END; 注意SAS的分支结构的写法与其它语言有些不同, 它不用ENDIF结束。 循环结构 SAS数据步可以使用循环结构,主要的是两 种:计数DO循环和当型、直到型循环。 计数DO循环的写法是: DO 计数变量 起始值 TO 结束值 BY 步长; 循环体语句 END; 在循环体中可以用LEAVE语句跳出循环, 相当于C语言的break语句;用CONTINUE语 句可以立即结束本轮循环并转入下一轮循环 的判断与执行 . 当型循环的语法是: DO WHILE(循环继续条件); 循环体语句 END; 程序先判断循环继续条件是否成立,成立时执行循环体语句 ,再判断循环继续条件,如此重复,直到循环继续条件不 再成立。 直到型循环的写法是: DO UNTIL (循环退出条件); 循环体语句 END; 程序先执行循环体,然后判断循环退出条件是否成立,成立 则结束循环,否则继续。注意每轮循环都是先执行循环体 再判断是否退出。 如: data; DO i = 1 TO 20 BY 2; j = i*3; put i 3. j 5.; END; run; 可以输出一个1,3,5,7,19的立方表 。 成绩绩 姓名 第一学期第二学期 常识识算术术填图图常识识算术术填图图 zhan g 141328151420 li101415151318 liu 191422201028 yang91014101210 zeng9825111024 he9912131115 用循环语句输入数据例 data a; label i=姓名 j=学期 x=常识 y=算术 z=制图; do i=1 to 6; do j=1 to 2; input x y z ; output; end; end; cards; 14 13 28 15 14 20 10 14 15 15 13 18 19 14 22 20 10 28 9 10 14 10 12 10 9 8 25 11 10 24 9 9 12 13 11 15 ; title 学生成绩; proc print data=a label; run; 6 SAS函数 (一) .SAS函数的定义 SAS函数是一个子程序,它由0个或几个自变量 返回一个结果值。每个SAS函数都有一个关键词名字。 为了引用函数,要写出它的名字,然后写出一个自变量 或几个自变量,它们用括号括起来,这个函数对这些自 变量执行某种运算。SAS函数的形式 functionname(argument,.) 例如: INT(1.453) SUM(X1,X2) MIN(SUM(cash,credit),1000) (二) SAS函数自变量和结果 1. SAS函数的自变量 1) 自变量的类型:自变量可以是简单的 变量名、常数或者表达式。这个表达式 还可以包含其它的函数。例如: m=max(cash,credit) n=sqrt(2500) h=min(sum(of x1-x10),y) 2) 自变量的个数: 有些函数不需要自变量(如DATE(), 有些只需要一个自变量, 有些函数是对几个自变量作分析处理。 所有函数都不允许超过2000个自变量。 如果函数的自变量是表达式,则先计算作为 自变量的表达式。 如:LOG(x+y) 这个函数,是先计算x+y,然后调用对数函数 LOG来计算x+y的对数。 3) 自变量的表示法:一般地,当函数有几 个自变量时,它们必须用逗号分隔开。不 过,以下三种写法均是合法的: functionname(OF variable1-variablen) functionname(OF variable variable .) functionname(variable, variable, .) 例如: sum(of x1-x5) sum(of x1 x2 x3 x4 x5) sum(x1,x2,x3,x4,x5) 是等价的。 2. 函数的结果 作为函数结果的目标变量(因变量) ,其取值通常取决于自变量,当自变量 是字符变量时,因变量取字符为值;当 自变量为数值变量时,因变量取数值为 值。 对大多数函数而言,数值 目标变量的长度是8个字节,字符目标 变量的长度为200个字节。 (三). 函数的分类 SAS函数主要分为以下四类: 数学函数 abs():求绝对值 mod(var1,var2):求var1除以var2后的余 数 sqrt():求平方根值 log():计算以e为底的对数值 log10():计算以10为底的对数值 l 样本统计函数 max():求最大值 min():求最小值 mean():求均数 std():求标准差 sum():求和 l 随机函数 normal():产生一个正态分布的伪随机数 rannor():产生一个标准正态分布的随机 数 l 日期时间函数 year():从变量中抽取“年份”值 month():从变量中抽取“月份”值 day():返回变量的天数值 data; x=0.5; y=sin(x); put Sine function value of x is y; run; 结果将在运行记录窗口显示一行 Sine function value of 0.5 is 0.4794255386 在PUT语句中使用“变量名”来指定输出项可以显示 带有变量名的输出结果,比如把上程序中的PUT 语句改为 put x= y=; 则结果在LOG窗口显示为 X=0.5 Y=0.4794255386 二 利用SAS作样本数据描述性统 计 1.PROC UNIVARIATE、 2. PROC MEANS 定量资料的描述、配对t检验,一个样本对应总体与一个 已知总体的比较t检验 SAS过程 (一) univariate过程 一、过程简介 该过程是单变量过程。用来估计描述统计量的过程,除可以 完成类似means过程的基本统计量的计算外,还可以计算其 它统计量:计算变量值分布的位置参数,生成若干个描述变 量分布的图,对数据进行正态性检验,描述极端值的情况。 二、语句结构 proc univariate 选择项; var 变量表; by 变量表; freq 变量; weight 变量; id 变量表; output out=输出数据集 关键字=名1 名2.; 三、输出结果 1、prob|T|的含义及判断标准 A 学生t统计量大于T绝对值的概率。 B 如PRT |t| = |M| = |S| D 0.1500 Cramer-von Mises W-Sq 0.050824 Pr W-Sq 0.2500 Anderson-Darling A-Sq 0.307263 Pr A-Sq 0.2500 不拒绝H0 The UNIVARIATE Procedure Variable: x Quantiles (Definition 5)百分位数与四分位数的估计 Quantile Estimate 100% Max 75.5 99% 75.5 95% 73.5 P(X进入INSIGHT环境打开CLASS 数据集 AnalyzeMultivariate(Ys)=选Y 变量Age,Height,WeightOutput=在弹出Output 窗口选 Univariate=OKOK,显示结果。 2.在分布窗口指定SEX(性别)为GROUP变量及Y变 量 Age,Height,Weight,在Output窗口选 Univariate=OK=OK. 3.启动SAS系统进入分析员应用打开CLASS数 据集 Statistics Hypothesis Tests Two-Sample-test for Means 指定分析变量( Weight)和分组变量(Sex) OK,则显示结果。 SAS常用功能键 按功能键“F9”,激活Keys窗口,可查看功能键 的定义。 2 SAS提供的基本运行环境SAS常用的交互式运行方式 1.用SAS编程实现各种任务 2.用SAS提供的菜单系统实现各种任务 3.用SAS/ASSIST 进入SAS/ASSIST: 使用工具栏图标 发命令ASSIST 下拉菜单选Globals=ASSIST 4.用SAS桌面系统 发命令DESKTOP 下拉菜单选Globals=Desktop 2 SAS提供的基本运行环境SAS菜系统 SAS系统提供几个交互式地心菜单系统用 来完成各种上分析任务。 1.SAS/INSIGHT软件 2.分析员应用(ANALYST) 3.市场研究应用(MARKET) 4.SAS/LAB软件 5.SAS/ETS软件的时间序列预报 SAS AWS 是Windows环境下使用显示管 理系统运行SAS系统的工作界面。 SAS AWS的请窗口是标题为SAS 的窗口 SAS AWS 还包括: 1.所有条形的SAS窗口(含最小化的窗口) 2.子窗口和对话框 3.菜单条,工具栏,命令框,状态栏 2 SAS提供的基本运行环境应用工作界面(AWS ) 正态性检验 对随机变量X,其密度如果存在函数为 则称X付出正态分布,记为 讨论参数的区间估计及进行统计检验时,我们都 是假定总体分布为正态分布,但正态性假定是否成 立,对于数据分析结论的可靠性是至关重要的。 为此我们要对于数据正态性作统计检验. 例1 下面给出了100个农场的小麦产量,检验其正态性。数据如下: 75.054.864.064.847.4 62.266.952.062.265.0 62.265.058.757.563.5 55.266.673.564.057.0 57.063.969.058.056.9 57.550.052.272.057.0 55.448.557.075.550.5 62.963.461.058.561.5 52.561.069.562.552.6 60.063.956.854.066.2 60.066.255.954.458.4 72.858.065.362.249.8 46.566.758.063.252.2 65.759.366.368.674.9 59.561.563.177.065.5 50.058.559.875.563.3 57.058.467.071.849.8 63.068.355.558.564.0 59.068.055.564.862.0 64.069.948.670.558.5 菜单操作如下: 数据的输入,在Editor窗口关态下,点击菜单栏的 Solutions进入分析员模块,如图 在分析员模块的表格下输入数据,如下图 : 点击菜单的Solutions,进入Descriptive,然后再进 入Distributions的检验模块,如下图: 1.出现Distributions对话框,点击y选入 Analysis框内,如图: 1.点击Fit按扭,选择Normal(目的是检验是否服 从正态,若须进行其它分布检验此处可选择其它 的分布类型项),然后点击OK按扭。 1.返回后,点击Plot按扭可可选择画图的类型。此 处选择 画直方图(Histogram),选择完后点击OK返 回。 1.返回后点击OK,即可得到正态检验结 果 。(结果略) 1.如若要查看直方图,则击活Analyst窗口,双 击Histogram for y,即可: 习题习题 : 1.对棉花品种进行了试验,对每个试点的棉花的单铃重(g)测得 如下表,试部所测得的单单铃 重是否符合正态分布。 7.226.085.965.305.695.75 5.856.985.715.895.825.84 2.3、启动Analyst模块 选择Solutions菜单下的Analysis,然后再选择下 面的Analyst,如图: 得到Analyst界面 四、数据集相关操作 (一)、依分布产生数据 利用Data菜单中Random Variates可以产生服从特定分布 的随机数,可以选择的分布类型包括: 正态分布 均匀分布 二项分布 卡方分布 泊松分布 指数分布 Beta分布 Gama分布 几何分布 极值分布 例1、利用Analyst模块生成100个服从标准正态 分布的数据,并把生成的数据命名为Normal保 存在Sasuser下。 操作步骤: (1)在Data菜单中选择Random Variates,然后 选择分布类型Normal(正态分布),则弹 出现一对话框: (2)在Number of values to generate中填100 ,在New column name (变量名称)中填 X,在 Mean中填0,在Standard deviation 中填1,单击 OK (3)可以看到数据集中产生了新的一列,在 File菜单中选Save As By SAS Name,保存 数据集 (4)在弹出的对话框中双击Sasuser,并在 Member Name中填数据集名称 Normal,单击 Save即可 (二)、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广州市市级机关公开遴选考试笔试试题(含答案)
- 智能酒柜精准温控创新创业项目商业计划书
- AI驱动的作物病虫害识别创新创业项目商业计划书
- 农产品电商仓储管理创新创业项目商业计划书
- 园艺植物远程监控与管理平台创新创业项目商业计划书
- 输变电防汛防台课件
- 2025年教育信息化基础设施建设现状与可持续发展研究报告001
- 2025年城市轨道交通智慧运维系统在地铁线网优化中的应用探索
- 2025年天然气水合物开采技术地质工程项目管理与实施报告
- 2025年海洋生态保护与修复政策对海洋生态系统服务功能可持续性影响评估报告
- JJG 693-2011可燃气体检测报警器
- 学校安全隐患排查整治表
- 溺水伤亡事故应急预案演练方案
- 2022年有子女离婚协议书手写
- 公路硬化报告范文
- 部编版语文八年级下册第一单元口语交际 应对 练习(含答案解析)
- 部编版八年级上册语文《消息二则》课件(定稿)
- 纳迪亚之宝全流程攻略 100%完结完整通关指南
- 预测分析:技术、模型与应用 - SAP Predictive Analytics
- 教务处作业检查记录表
- 四川省扶贫和移民工作局移民安置独立评估细则-范文
评论
0/150
提交评论