您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > SAS统计分析从入门到精通
第一章数据预处理章泽武博士副教授联系电话:13694276195Email:zewuzhang@sohu.com统计学原理中数据预处理的内容:数据预处理是在对数据分类或分组之前所做的必要处理,内容包括:数据的审核、数据的筛选、数据的排序、数据透视表等内容。本课程中数据预处理的内容:SAS的编程基础SAS的数据处理对象数据预处理的基本方法:数据整理、数据的分拆与合并、数据清洗、数据变换1.SAS编程基础1.1.SAS编程语言的基本结构在SAS中可以利用“Editor”或“ProgramEditor”窗口书写程序SAS语言结构比较简单,主要由DATAstep和PROCstep组成。程序的每一行以“;”表示结束。一些全局变量的设置语句应放在DATA步之前。其基本命令有:title“…”;libname…;data…;run;proc…;run;基本运算符号:=≤≥≠EqltgtlegeneDATA步(数据步)是SAS进行数据管理和操作的基本步骤,其主要功能包括:建立SAS数据集,导入外部数据文件,分割、修改、合并、更新现有的SAS数据集,分析、呈现和管理数据,利用数据集中已有数据计算或生成新的变量主要命令有:infile语句:从外部文件获取数据input语句:为读入的数据指定变量名及格式cards语句:用于在SAS系统中直接输入数据PROC步(过程步)主要进行相应的数据处理和分析活动主要命令有:data语句表示该PROC步所处理的数据集var语句表示处理该数据集中的特定变量Where语句表示指定系统处理符合一定条件或表达式的眼本By语句表示指定系统按照所列示的变量进行分组处理,使用该语句时,必须先对该语句中指定的变量进行排序此外,常见的PROC过程还有:PRINT显示数据集的变量名及变量值SORT对指定变量进行排序MEANS对数值型变量进行描述统计分析UNIVARIATE对数值型变量进行描述统计分析FREQ对定序变量进行描述统计分析CHART对指定变量绘制文本形式的图形GCHART在“Graph”窗口中对指定变量绘制图形1.2.SAS结构化编程语言SAS结构化编程语句主要有顺序语句、条件语句和循环语句。这三种基本形式的语句均可在DATA不和PROC步中使用。条件语句例1.比较X和Y两个变量的大小。如果XY,则输出“XY”;如果XY,则输出“XY”;如果X=Y,则输出“X=Y”。假定X=10,Y=20。循环语句:计数循环、当循环、直到循环计数循环:data;dox=toby;end;Put“y=”y;run;例:计算1~100之内的所有的奇数自然数之和当循环:data;dowhile(限定条件)end;put“y=”y;run;例:计算1~100之内的所有的奇数自然数之和。直到循环:dountil(限定条件)例:计算1~100之内的所有的奇数自然数之和。例:在1~100以内计算50以内的奇数自然数之和。2.SAS的数据处理对象2.1.SAS数据库和SAS数据集SAS数据库SAS数据库具体是指存放SAS数据文件的文件夹,它与计算机中某个具体的文件夹相对应。SAS数据库的分类:临时库:只有一个,名为Work。每次启动SAS时自动生成,关闭SAS时自动被清除。永久库:可以有多个。用户可以自己指定永久库的库标记。每次启动SAS,有三个数据库是不可少的:SASUSERSASHELPWORKSAS永久数据库的建立通过工具栏建立:通过菜单方式建立:资源管理器/逻辑库/文件选项中的新建通过命令的方式建立:dmlibassign通过编程的方式建立:Libname例:建立一个名为“test”的永久数据库,该数据库对应的文件夹所在的位置为“D:\Statistics\sas\sas9.2”Libnametest“D:\Statistics\sas\sas9.2”SAS数据集与SAS数据库类似,SAS数据集也可以分为临时数据集和永久数据集。可以是不超过8个字符的字符串,但第一个字符必须是字母。每一个数据集都有一个二级名字。第一级是库标记,第二级是数据集名,中间用“.”格开。调用永久数据库中数据集时,应当指定该数据集对应的库标记,而调用临时数据库的数据集时,则可以省略库标记,直接引用即可。2.2.SAS数据集的建立SAS变量的基本类型:数值型、字符型。默认长度为8字节,对于实际数据中遇到的缺失值,SAS系统通常用“.”表示。通过菜单建立SAS数据集:1.解决方案\分析\交互式数据分析\insightsolutions\Analysis\interactivdataanalysis\insight2.解决方案\分析\分析家通过命令建立SAS数据集(若是非数值变量,必须在变量名称后空一格打上$)DATAname;INPUTvariable;CARDS;Datalines;RUN;学号12345678910姓名张三李四王二刘五张二李三刘大刘二刘三刘四成绩语文89787990958789697570数学87908976878969887892•已知10名学生的期末考试成绩试用SAS/insight模块、Analyst和SAS编程在SASUSER永久库中建立名为“score”的SAS数据集,并且该数据包含“ID”(学号)、”“name”(姓名)、literature”(语文)、“math”(数学)3个变量和10个观测值。用编程方式输入:DataSASUSER.score;Inputidname$literaturemath@@;Labelid=“学号”name=“姓名”literature=“语文”math=“数学”;Cards;8987278903798949076595878789789698698897578107092;Run;输入@@表示按照input定义的变量顺序依次连续读入数据,无论数据多少行,遇到“;”则停止读入数据。如果没有@@符号,表示系统按照行读入数据。如果读入字符型变量,需要变量名后空一格加上$符号。在已有数据集的情况下可以利用set语句对数据集进行复制如在临时性数据库中建立一个临时性文件scoreDatascore;SetSASUSER.score;Run;各地区普通高中基本情况地区学校数招生数在校学生数毕业生数教职工数专任老师数北京33893519274803665567634718672天津23072335198537526355522313105河北814464146129388731871434468667536山西56022829264726116327318667436985内蒙古37217912647356811752512127424593辽宁46425860968519916984818022535586吉林29616990745163710110712302222302黑龙江47920331554679313944118518432648上海344106474313811910177622217832江苏844494692137346535317733048882855请将上述数据用SAS/insight模块、Analyst和SAS编程方式在永久性数据库中建立DQGZ数据集SAS系统的外部数据文件利用SAS\Importdata菜单进行数据导入:利用编程来实现数据的导入:procimportdatafile=“D:\Macroeconomy.xls”out=SASUSER.PerCapitaData;sheet=“economy”;run;•利用SAS/importData菜单将储存在Excel.1中的数据导入,在SASUSER永久数据库中建立名为“PerCapitaData”的SAS数据集。利用SAS程序将储存在Excel.1中的数据导入,在SASUSER永久数据库中建立名为“PerCapitaData2”的SAS数据集。3.数据预处理原理和基本方法在数据预处理过程中,通常根据其自身特点把数据划分为脏数据和净数据。从广义上看。脏数据是指没有经过数据预处理而直接接受到的、处于原始状态的数据;净数据是指经过一定的选取、清洗、变换等数据预处理之后可以直接作为统计分析对象的数据。脏数据依据不同的分析目的具有不同的定义。如在常见的数据挖掘工作中,脏数据是指不完整、含噪音、不一致的数据。在问卷调查中,脏数据通常是指不符合问卷要求的数据。12345678910某咨询公司受某品牌汽车的委托,对该品牌汽车的满意度状况进行了调查。其中对购买了该品牌汽车的消费者有以下几个典型问题。A1.你是否拥有某品牌的汽车1.是2.否(停止问卷调查)Q1.您对某品牌汽车总体满意程度如何?请打分(满意程度越高,得分越高,反之得分越低)。B1.您去年的平均月收入是多少?请选择。1、3000元以下2、3000~50003、5000~80004、8000元以上B2.您家庭去年的平均月收入是多少?请选择。1、3000元以下2、3000~50003、5000~80004、8000元以上IDQ1B1B21733282331035494451043663372487449534101124数据录入人员对10份问卷进行了数据录入,录入结果见下表请利用编程方式将上述数据储存在SASUSER数据库中的Car数据集中。1、请利用编程方式,把例题中的数据储存在SASUSER数据库中的Car数据集中。2、请利用菜单和编程两种方式将B1变量进行降序排列3、请利用菜单形式将Q1调整为第一个变量,以加强数据分析人员对汽车满意度打分的重视程度,并且把问卷编号变量“ID”作为最后一个变量。4、请设定变量B1对应值1、2、3、4的标签5、请用菜单和编程两种方式删除问卷编号“ID”的变量6、请将总体数据按照个人收入变量,即“B1”变量分拆至高手入和低收入两个数据集来分别考察。即将B1变量分拆为“CAR_High”和”Car_Low”两个数据集,存储在永久数据库中。7、请讲上述分拆的两个数据集“CAR_High”和”Car_Low”合并命名为SASUSER.Car_Total储存在永久数据库中8、利用菜单和编程两种方式将数据集中的错误找出来9、利用菜单和编程两种方式来检查B1和B2之间的逻辑关系10、利用菜单和编程两种方式来修改数据中的错误谢谢!联系电话:13694276195
本文标题:SAS统计分析从入门到精通
链接地址:https://www.777doc.com/doc-2849050 .html