3.6 数据文件的操作
在利用各种统计工具进行数据处理和统计工作的过程中,由于软件工具的差异,数据的存储格式会有很大的不同。不同的统计工具读入不同的数据文件的格式也会不同。例如,在仓储的管理部门,会利用Excel电子表格的xls格式保存数据,财务部门很有可能将员工的工资信息保存在数据库文件中。这就存在不同数据格式文件的交换问题。SPSS软件提供了多种不同数据格式的读取和保存方式,甚至可以从不同格式的文本文件中方便地读取数据;另一方面,经SPSS软件处理的数据也可以保存为其他格式的数据文件。
3.6.1 创建和读取SPSS数据文件
创建SPSS数据文件,最直接的办法是通过SPSS的数据编辑窗口定义变量,并输入数据。这方面内容前几节已有详述。除了直接创建SPSS数据文件以外,还可以通过打开不同格式的数据文件,间接创建SPSS数据文件。
3.6.1.1 打开一个已存在的数据文件
step 1 在SPSS主界面,选择菜单“File”→“Open”→“Data”命令,打开“Open Data”(打开数据源)对话框,如图3.21所示。
图3.21 “Open Data”(打开数据源)对话框
step 2 在打开数据源对话框中,选择打开文件类型。方法是单击对话框上的“Files of type”(文件类型)下拉列表框中的黑色向下箭头,显示SPSS能够识别的所有数据格式列表,从中选择文件类型。
step 3 在“Look in”(查找范围)下拉菜单中,选择所要打开数据文件的位置,单击“Open”(打开)按钮。
SPSS可以读取的数据文件类型主要有Excel格式文件、dBASE格式文件和SAS格式文件。
3.6.1.2 读取Excel格式的文件
读取Excel格式文件,可以利用上面介绍的打开数据文件的步骤,在图3.21中“Files of type”(文件类型)下拉列表中选择“Excel(*.xls)”选项,并且单击指定的xls文件,这时,弹出如图3.22所示“Open Data”(打开数据源)对话框。
图3.22 “Open Data”(打开数据源)对话框
单击“OK”按钮,确认操作。在SPSS数据编辑窗口打开此文件。
3.6.1.3 读取文本文件
文本格式的数据文件较常见,但由于没有统一的格式,所以要正确地读取文本格式的数据文件,就要增加更多的识别条件。为此,SPSS给出了区别于其他格式的识别和读取操作规则。下面用具体示例来说明其操作。
首先建立一个名为data.txt的文本数据文件,如图3.23所示。
图3.23 文本数据文件
利用文本数据文件导出向导,读取文本数据文件,操作步骤如下:
step 1 打开读取文本数据对话框。
选择菜单“File”→“Read Text Data”(读取文本数据文件)命令后,显示如图3.24所示的文本文件选择对话框。
图3.24 文本文件选择对话框
在该对话框中选择文本数据文件的路径和文件名,单击“Open”按钮,则显示“Text lmport Wizard - Step 1 of 6”(文本文件导出向导:步骤1)对话框,如图3.25所示。
step 2 读取文本文件的第一步。
“Text lmport Wizard-Step 1 of 6”对话框用于指定是否套用预先设置的格式。“Does your text file match a predefined format?”(文本数据文件是否和预先给定的文件格式相匹配?)窗口给出两个选项。如果选择“Yes”,则需要再次单击“Browse”按钮,指定匹配文件;如果不是,则选择选项“No”,该选项为默认选项。设置完毕后,单击“Next”(下一步)按钮,进入“Text lmport Wizard-Step 2 of 6”(文本文件导出向导:步骤2)对话框,如图3.26所示。
图3.25 “Text lmport Wizard - Step 1 of 6”对话框
图3.26 “Text lmport Wizard - Step 2 of 6”对话框
step 3 读取文本文件的第二步。
在“Text lmport Wizard - Step 2 of 6”对话框中设置变量处理方式,包括字符间隔符的表示和文本文件中第一行是否作变量名。各窗口和选项的含义如下:
“How are your variables arranged?”(变量如何处理)窗口设置变量处理方式,有两个单选项:
◆ DeIimited 选择该项,表示用空格、逗号等字符分隔变量,每个个案中的变量值按相同的顺序排列,但可能不在同一列中。
◆ Fixed width 固定列宽。选择该项,表示变量按固定格式列对齐,不需要间隔符。“Are variable names included at the top of your file?”(变量名是否被包含在文件的开头部分)窗口用于确定是否在第一行显示变量名,有两个选项:
◆ Yes 选择该项,表示变量名显示在第一行。
◆ No 默认选项。选择该项,表示不显示变量名。
确认设置以后,单击“Next”(下一步)按钮,弹出如图3.27所示的“Text lmport Wizard-Delimited Step 3 of 6”对话框。
图3.27 “Text lmport Wizard - Delimited Step 3 of 6”对话框
step 4 读取文本文件的第三步。
在“Text lmport Wizard - Delimited Step 3 of 6”对话框中,需要设置第一个个案显示的行的位置,以及个案所代表的变量数。该对话框的窗口及其选项含义如下:
在“The first case of data begins on which line number?”栏中输入数值,确定在第几行显示第一个个案。默认值为1。
“How are your cases represented?”窗口用于指定个案所代表的变量数,包含两个选项:
◆ Each Iine represents a case 默认选项。选择该项,表示数据编辑器中的每一行代表一个个案。
◆ A specific number of variabIes represents a case 选择该项,表示在后面的输入栏中输入一个数值,确定每一个个案所代表的变量数,默认值为10。
“How many cases do you want to import?”用于设置窗口输入的个案数,包含3个选项:
◆ AII of the cases 默认选项。选择该项,表示输入所有的个案。
◆ The first n cases 选择该项后,需要在后面的输入栏中输入一个正整数,确定输入前面的变量个数,默认值为1000。
◆ A random percentage of cases(approximate) 选择该项后,需要在后面的输入栏中输入一个数值,确定随机地输入一个百分比个案,默认值为10%。
确认设置后,单击“Next”(下一步)按钮。出现如图3.28所示的“Text lmport Wizard-Delimited Step 4 of 6”对话框。
图3.28 “Text lmport Wizard - Delimited Step 4 of 6”对话框
step 5 读取文本文件的第四步。
在“Text lmport Wizard - Delimited Step 4 of 6”对话框中,需要设置变量之间的间隔类型以及显示设置后的数据预览效果。该对话框中各选项含义如下:
“Which delimiters appear between variables?”窗口用于确定数据之间的间隔类型,该窗口给出5种间隔类型,分别为:
◆ Tab 默认选项。变量数据之间的间隔为表间距。
◆ Space 变量数据之间的间隔为空格。
◆ Comma 变量数据之间的间隔为逗号。
◆ SemicoIon 变量数据之间的间隔为半个列宽。
◆ Other 选择该项后,需要在后面的输入栏中输入数值,以确定变量数据之间的间隔的空格数。
“What is the text qualifier?”窗口用于确定文本中的分隔符,包含4个选项:
◆ None 不选。
◆ SingIe quote 单引号。
◆ DoubIe quote 双引号。
◆ Other 选择该项,需要在后面的输入栏中输入其他分隔符。
确认设置以后,单击“Next”(下一步)按钮。弹出如图3.29所示的“Text lmport Wizard-Step 5 of 6”对话框。
图3.29 “Text lmport Wizard - Step 5 of 6”对话框
step 6 读取文本文件的第五步。
在“Text lmport Wizard - Step 5 of 6”对话框中,设置关于变量名和选择变量的操作。各个窗口及其选项含义如下:
“Specifications for variable(s) selected in the data preview”用于选择数据预览框中的变量名和数据类型:
◆ VariabIe name 变量名。默认变量名形为vn,这里的n为从1开始的正整数。可以更改默认变量名,其方法是在数据预览(Data preview)框中选择变量名,然后在该栏处输入更改后的变量名。
◆ Data format 数据类型。单击该栏处的下拉箭头,在弹出的下拉列表中选择数据类型,默认数据类型为数值型(Numeric)。
确认设置以后,单击“Next”(下一步)按钮。弹出如图3.30所示的“Text lmport Wizard-Step 6 of 6”对话框。
图3.30 “Text lmport Wizard - Step 6 of 6”对话框
step 7 读取文本文件的第六步。
在“Text lmport Wizard-Step 6 of 6”对话框中,设置是否保存设置的格式,以及是否粘贴Syntax语句到Syntax窗口。各个窗口及其选项含义如下:
在“Would you like to save this file format for future use?”窗口中选择是否保存设置的格式为外部文件。如果是,则选择“Yes”;否则选择“No”。
在“Would you like to paste the syntax?”窗口选择是否将设置过程粘贴到syntax窗口。如果是,则选择“Yes”;否则选择“No”。
step 8 完成读取文件的操作。
确认设置以后,若检查前面几个步骤没有错误,并且在预览框中能正确显示数据项,则单击“Finish”(完成)按钮,结束文本数据的读取操作;反之,可以单击“Back”(上一步)按钮,返回上一步骤,修改设置。图3.31显示的是文本文件data.txt经上述步骤转换后的SPSS数据编辑窗口。
图3.31 文本数据转换后的SPSS数据编辑窗口
3.6.2 保存SPSS数据文件
3.6.2.1 保存SPSS数据文件的基本操作
保存数据就是将SPSS编辑窗口的数据以数据文件形式保存到外部存储介质中。经SPSS数据编辑窗编辑的数据既可以保存为SPSS for Windows数据文件,也可以保存为其他数据处理软件可以识别和打开的文件。
保存SPSS数据的操作与一般Windows界面下的文件保存操作基本相同。选择菜单“File”→“Save”命令,或者选择“File”→“Save as”命令。但由于不同数据文件格式的数据结构定义方式有所不同,所以,SPSS数据保存的操作与其他文件的保存方式略有不同。
在SPSS数据编辑窗口,保存数据的基本操作步骤如下:
step 1 选择菜单“File”→“Save”命令,或者选择“File”→“Save as”命令,弹出如图3.32所示的“Save Data As”(文件保存)对话框。
图3.32 “Save Data As”(文件保存)对话框
step 2 在如图3.33所示的“Save Data As:Variables”对话框中,指定文件存储路径、文件类型和文件名,其方法与打开数据文件的操作完全相同。
图3.33 “Save Data As:Variables”对话框
step 3 单击对话框中的“Variables”按钮,弹出“Save Data As:Variables”对话框。对话框中的“Variables”按钮允许用户在保存文件时,指定保存哪些变量。该对话框中显示了当前数据文件的所有变量名,其中变量名前画“√”的变量将被保存到磁盘中。默认选择是保存全部变量。
step 4 在变量选择对话框中,通过单击相应变量名可以指定或清除该变量,也可以单击“Keep All”按钮,选择全部变量;或单击“Drop All”按钮,清除所有变量。选定后,单击“Continue”按钮,返回文件保存对话框。
step 5 单击“Save”(保存)按钮,数据文件将按指定的类型被保存在指定路径处。
若利用SPSS软件打开一个其他类型的数据文件,经编辑后,无论选择的是“Save”命令或是“Save As”命令,来保存文件,都只显示如图3.32所示的“Save Data As”(文件保存)对话框。
3.6.2.2 保存为其他格式的数据文件
SPSS可选择的文件类型主要有SPSS文件、固定格式的ASCll文件,自由格式的ASCll文件、Excel文件、dBASE数据库文件、SAS文件和Stata文件。
需要注意的是,数据文件格式的选择对应不同版本有不同的选项。即使是同一种文件类型,其不同版本之间也存在兼容性问题,可能会发生保存的文件在其他软件中无法打开或者丢失信息的情况。
当SPSS数据文件保存为其他类型文件时,变量名标签、变量值标签和缺失值的定义全部丢失(除SPSS Portable文件外)。