- 如虎添翼!数据处理的SPSS和SAS EG实现(第2版)
- 经管之家主编 徐筱刚等编著
- 4058字
- 2025-02-23 04:49:46
2.2 理解SAS与SPSS数据集的定义
2.2.1 理解数据集的含义
在进一步进行数据分析之前,我们还需要了解数据集的基本信息,比如修改日期、属性、标签等,了解每个字段的含义、类型及相关的长度、格式等。
2.2.2 商业背景
如果你是一名数据分析的新手,当你拿到一些以SAS为格式存储的文件集时,你应该从哪些方面去了解这些数据,以便为下一步的数据分析做好准备呢?
2.2.3 SAS与SPSS相关概念介绍
SAS相关概念介绍
SAS中对表的引用采用二级引用,即“逻辑库名.文件名”,比如为了引用SASHELP库中的CLASS文件,必须采用“SASHELP.CLASS”,若不加逻辑库名,则默认为调用WORK库中的相应文件。
〈1〉SAS文件
所有的SAS文件都必须作为某个SAS数据库的成员,SAS文件主要分为以下三类。
● 表(Table):存放数据值和数据的描述信息的数据集,以.sas7bdata为扩展名。
● 数据视图(View):不实际存放数据,只包含表的描述信息和一组用来读取数据的查询语句,以.sas7bvew为扩展名。
● 目录册(Catalog):用来存放不同种类的信息文件,每个信息文件一般都比较小,比如一些系统快捷键的定义等,以.sas7bcat为扩展名。
〈2〉数据集构成
一个数据集包括两个组成部分:描述部分和数据部分,如图2-9和图2-10所示。

图2-9

图2-10
数据部分是打开逻辑库中的文件时展现出的部分,是数据值的集合。描述部分,即指属性,其包含以下部分:
● 数据集的名称。
● 创建数据集的日期和时间,如图2-11所示。

图2-11
● 观测的个数,变量的个数,数据集中的每一个变量也有属性,如图2-12所示。

图2-12
● 类型(Type)、名字(Name)、标签(Label)、长度(Length)、输入/输出格式(Informat/Format)等,如图2-13所示。

图2-13
①数据集与变量命名(Name)规则
● 首字符必须为英文字母(A~Z,包括大写和小写)或下划线(_)。
● 由数字、字母和下划线组成。
● 最多不超过32个字符。
● 不区分大小写。
②标签(Label)规则
● 数据集的属性除名字(Name)外,还可以添加标签,方便描述数据集存储数据的特性。
● 书写规则,可以是中文、英文字母等任何符号。最长不超过256个字符。
③类型(Type)规则
● 只有字符型(Character)和数值型(Numeric)两种类型,一个变量只能属于一种类型。
● 数值型变量只能是合法的数值,缺失值为点“.”,注意不含引号。日期属于数值型变量,取整数值,日期又分为日期数据(Day)与日期时间数据(Daytime)。日期的常数值表示形式为“ddmmmyy”d或者“ddmmmyyyy”d,比如为了表示2014年6月30日,可以采用“30jun14”d或“30jun2014”d。
日期数据在SAS中的存储和展示方式如图2-14所示。

图2-14
日期时间数据将1960年1月1日00:00:00取为0,每加1代表增加1秒。日期时间数据在SAS中的存储和展示方式如图2-15所示。

图2-15
字符型变量的值可以是任何字符串,如“中国”,“Alex”,“Hello!123”等,缺失值为空格,注意不含引号。
④变量属性:输入格式(Informat)及输出格式(Format)规则
● 输入属性确定数据如何读入到SAS数据集。
● 输出属性确定数据如何显示,即打开数据集我们看到的格式,只是输出形式,不影响其存储形式。
〈3〉SAS视图
SAS数据视图是用来从其他文件中读取数据的一种SAS文件。它只包括数据集的描述信息,如数据类型、变量长度等,再加上如何从其他文件中提取数据所要求的信息。
SAS数据视图类似于数据库视图。
SAS数据视图主要有以下几个使用优势:
● 可以使用连接多个表的视图来合并数据集;
● 数据视图可以节省大量的空间;
● 数据视图可以保证读取的数据集永远都是最新的;
● 更改一个数据视图只需要改变这个视图的查询语句。
SPSS相关概念介绍
SPSS创建的文件类型主要包括4种,SPSS的数据文件,以sav为扩展名;SPSS的语法文件以sps为扩展名;SPSS的输出文件,以spv为扩展名;SPSS的脚本文件,以sbs为扩展名。分别对应数据编辑窗口、语法编辑窗口、结果管理窗口和脚本窗口。
SPSS是一个有别于其他文件的特殊格式的文件,SPSS数据文件是一种有结构的数据文件,它由数据结构和内容两部分组成,其中数据结构记录数据变量的名称、类型、变量宽度、小数位数、变量名标签、变量值标签、缺失值、显示宽度、对齐方式和度量尺度等必要信息,数据的内容才是那些待分析的具体数据。
基于上述特点,建立SPSS数据文件时应完成两项任务,即描述数据的结构和录入编辑数据。
数据编辑窗口中的一行称为一个个案或记录(Case),所有个案组成SPSS数据文件的内容。数据编辑窗口的一列称为一个变量(Variable),每个变量都有一个名字,称为变量名,它是访问和分析SPSS每个变量的唯一标志。SPSS数据文件的结构就是对每个变量及相关特征的描述。
SPSS数据的结构是对SPSS每列变量及其相关属性的描述,主要包括变量名、数据类型、变量宽度、变量名标签、变量值标签、显示宽度、缺失值、对齐方式、度量尺度等信息。
〈1〉变量名是变量访问和分析的唯一标志。在定义SPSS数据结构时应首先给出每列变量的变量名。变量的命名规则如下:
①首字符应以英文字母开头,后面可以跟除了“!、?、*”之外的字母或数字。下划线、圆点不能为变量名的最后一个字符。SPSS允许用汉字作为变量名。
②变量名的字符个数最好不多于8个;变量名不区分大小写字母。
③SPSS有默认的变量名,以字母“VAR”开头,后面补足5位数字,如VAR00001、VAR00012等。变量名不能与SPSS内部特有的具有特定含义的保留字同名,如ALL、BY、AND、NOT、OR等。
④变量名最好与其代表的数据含义相对应,每个变量名必须具有唯一性。
〈2〉数据类型是指每个变量取值的类型。SPSS中有三种基本数据类型:数值型、字符型和日期型。
数值型(Numeric)
①标准型(Numeric)
②科学记数法型(Scientific Notation)
③逗号型(Comma)
④圆点型(Dot)
⑤美元符号型(Dollar)
⑥用户自定义型(Custom Currency)
数值型是SPSS最常用的数据类型之一,通常由阿拉伯数字和其他特殊符号等组成。其中的标准型(Numeric)是SPSS默认的数据类型,默认显示宽度为8位,包括正负符号位、小数点和小数位在内,小数位默认为2位。如果数据的实际宽度大于8位,SPSS将自动按照科学计数法显示,数据的显示并不影响数据的存储,也不影响数据的计算。
字符型(String)
字符型也是SPSS较常用的数据类型,由一个字符串组成。如职工号码、姓名、地址等变量都可以定义为字符型数据。字符型数据的默认显示宽度为8个字符,不能进行算术运算,并要区分大小写字母。字符型数据在SPSS命令处理过程中应用一对双引号括起来,但在输入数据时不应输入双引号,否则双引号将会作为字符型数据的一部分。
日期型(Date)
日期型数据用来表示日期或者时间,如生日、成立日期等变量可以定义为日期型数据。显示格式:dd-mmm-yyyy;mm/dd/yyyy。
〈3〉变量宽度(Width)、显示宽度(Columns)
每种类型的变量都有自己的变量宽度、小数位和显示宽度,其中变量宽度是变量允许的最大字符位数,列宽度是数据编辑窗口中显示每列的字符位数。通常这两个宽度是一致的。
〈4〉变量名标签(Variable label)
变量名标签是对变量名含义的进一步解释说明,它可以增强变量名的可视性和统计分析结果的可读性。变量名标签可用中文,总长度可达120个字符,但在统计分析结果的显示中一般不能显示如此长的变量名标签信息。
〈5〉变量值标签是对变量取值含义的解释说明信息,对于品质型数据尤为重要,比如1代表男性,2代表女性,它不但明确了数据的含义,也增强了最后统计分析结果的可读性,变量值标签可以用中文。
SPSS中说明缺失数据的基本方法是指定用户缺失值。用户缺失值可以是:
● 对字符型或数值型变量,用户缺失值可以是1至3个特定的离散值(Discrete missing values);
● 对一个数值型变量,用户缺失值可以在一个连续的闭区间内并同时再附加一个区间以外的离散值(Range plus one optional discrete)。
2.2.4 EG菜单解决方案
Step1单击菜单,按照顺序依次单击“任务→数据→数据集属性”,如图2-11所示。可以通过单击“添加”按钮新增数据集,也可以选中数据集或删除数据集。

图2-11
Step2单击“下一步”,设置输出选项。默认报表输出内容包括以下数据属性:数据集的创建日期、上次修改日期、观测数、编码、任何与引擎/主机有关的信息,以及变量及其属性按字母顺序排列的列表。增强型报表输出包括:表类型、表的创建和修改日期、观测数、变量标签及变量类型。排序可以按照变量名称、表中变量顺序、变量类型、变量格式、变量标签五者之一进行升序或者降序排列,如图2-12所示。

图2-12
上述选项设置之后,单击“完成”按钮,在结果中产生五类信息:
〈1〉数据集信息来自Datasets Procedure过程,如数据集名称、类型、观测数、变量数、创建时间、修改时间、是否排序、是否压缩。
〈2〉引擎/主机相关的信息,如页面大小、页数、版本。
〈3〉按字母顺序排序的变量和属性列表,如变量名称、类型、长度、输入输出格式、标签等。
〈4〉数据集信息,与〈1〉显示信息基本相同,但较为简洁。
〈5〉变量列表信息,与〈3〉显示信息基本相同,但较为简洁。
其中默认报表的是〈1〉,〈2〉,〈3〉信息,增强型报表的是〈4〉,〈5〉信息。
2.2.4 SAS程序实现
查看数据集的数据部分信息
基本语法

具体用法可以参看“第7章数据的展示:图形及报告的编制”。
查看文件属性信息
基本语法

options语法解读如下。

创建视图
由数据步或SQL过程创建。
〈1〉数据步视图:包含用于从多个数据源中读取数据的数据步程序。
定义格式:DATA数据集名称/view=数据集名称。

上面的定义中,在DATA步中的最后一个数据集名称后加上“view=数据集名称”,告诉SAS程序进行编译,但不运行,而被编译的程序编码则储存在view后的数据视图中。
例如:创建数据步视图

〈2〉proc sql视图:是一个带有名称的proc sql查询。它可以读写的数据源和数据步视图相同。
例如:


2.2.5 SPSS菜单解决方案
代码本可以用来对当前文件中的变量信息进行描述,并可对分类变量进行计数和百分比计算,对数值变量进行均值、标准差、中位数、四分位数间距的计算。
Step1打开数据集amount,依次单击“分析数据→报告→代码本”,可以将需要分析的变量从左边的“变量”框中移到右侧“代码本变量”中,如图2-13所示。本例中我们将全部变量移到右边。

图2-13
Step2打开“输出”选项卡,共分为四栏,左上角可以设置变量的信息,右上角可以设置文件的信息,左下角显示变量的显示顺序,右下角显示最大类别数的控制。
本例选择所有的变量信息和文件信息,变量显示顺序采用默认设置,如图2-14所示。

图2-14
Step3选中“统计量(Statistics)”选项卡,可以输出简单的统计量,此处我们不再设置,在数据探索部分会有较详细的探索数据的操作方法,单击“确定”按钮,如图2-15所示。

图2-15
运行结果、文件信息及每个变量的信息如图2-16所示。

图2-16