图3.6c Range对话框
当对数据集做出筛选后,所做的筛选将在以后的分析中一直有效,直到再次改变选择条件为止。同时在多数情况下,系统会自动产生一个名为filter_$的筛选指示变量,被选中的记录该变量取值为1,反之则为0。
●加权分析组Weight Cases
当两组个案(Cases)数目相差悬殊(比如男多女少)时,为了尽量反映“平等”的社会现象,有时需要给予适当的权重(比如对弱势群体赋予大的权重,反之亦然),以利于统计分析。在默认情况下,每一行就是一条记录,如果希望在分析过程中利用不同的变量对数据进行加权处理,就需要用到Weight Cases对话框,见图3.7。该对话框的使用极为简单,界面上有两个单选钮,分别是不权重记录和用某变量权重记录,如果选择后者,则需要选中一个权重变量。图中显示以性别sex加权。
图3.7 Weight Cases对话框
●Data菜单中的其余对话框
? Define dates对话框:可以自动生成时间变量。 ? Insert Variable命令:在当前列插入新变量。 ? Insert cases命令:在当前行插入新记录。
? Goto cases对话框:到达指定记录号的记录,该命令在记录数极多时(1000条以上)非常有用。
3.3数据转换
从调查得来的原始数据是非常重要的。但是有些原始数据没有归类,比如案例中的消费,不象年龄、月收人等只有几个取值,如果直接打印出频率表,则既浪费纸张又欠直观。为此,需要复制一份原始数据(即备份),再对复制后的原始数据重新编码,比如按消费段编码成几组,然后分组比较和打印显示。同样,对原始数据也可以进行重新计算。例如从消费q9计算出一个新变量——绝对消费差异。
类似这种数据变换,可用以下4条命令。
(1) COMPUTE:对原始数据进行四则运算等,进而派生出新的变量。
21
(2) RECODE:重新编码数据,重新安排次序。
(3)COUNT:创建一个新变量用以计算某些变量共同发生的频次(即计数)。 (4)IF:如果表达式成立,则可以有条件地创建一个新变量。
以上4条数据变换的命令分别又有2种执行方式:其一是直接采用命令来实现。其二是采用Transform过程中的对话框来实现。这里只介绍使用对话框实现的操作。
●计算Compute
在案例中,若研究者想分析每个被访问者最近一次参加促销活动的消费额与经验平均消费额110元的绝对差异,定义变量名为absq9。可采用如下操作:
点击Transform→Compute,进入Compute Variable对话框,如图3.8。Target variable为新产生的变量,可输入新变量名absq9。该栏下方为一按钮Type &Label,单击该按钮后可选择新变量类型和定义变量标签。
Numeric Expression为表达式,有两种方法在该栏中写入表达式:
1)直接写出。如对SPSS中函数比较熟悉,可在此栏中直接填入abs(q9-110),即计算消费额q9与经验平均消费额110元的绝对差异,然后单击OK就行了。
图3.8 新变量的产生
2)从对话框选取。Numeric Expression栏下方为Functions栏,该栏中列出了常用的函数,可从该栏选取所要的函数。每个函数后的括号中注明了所需变量的类型或其他特殊的变量(numexpr表示数值变量,strexpr表示字符变量)。选中后单击Functions上方的箭头,进入Numeric Expression栏。该栏对话框左下方列出了数据库中的变量,选中所要的变量,单击其右上方的箭头将其选入框内,或进入函数后的括号内。如上例,首先从Functions栏选中ABS(numexpr),单击上方箭头进入Numeric Expression,此时ABS后的括号内为一问号。从左下方栏中选中变量q9,单击右上方箭头进入ABS后的括号内,并减去110。此时Numeric Expression内表达式为abs(q9-110),如图3.8,再单击OK,即产生新变量absq9。
如不明白函数意义,可在该函数名称处单击右键即弹出该函数的解释。此外,可以单击If按钮,设定计算新变量的Cases范围。比如说,只对女性计算absq9;或者只对消费q9大于50的Cases计算absq9;等等。
●计数Count
计数Count是计算变量值中含有相同范围值的次数。如案例中,研究者要计算第一喜欢“特价销售”
22
或“购商品赠礼品”促销方式的消费者人数,诸如此类,就要采用Count。其具体操作步骤如下:
1、选择Transform→Count,弹出Count对话框,如图3.9a;
2、在Target Variable框中输入新变量名no1q7,在Target Label框中输入新变量的标签; 3、从左侧的变量列表中选择q7.1(即排第一位的促销方式)到Numeric Variables框内; 4、单击Define Values定义q7.1的取值为1或3,见图3.9b。分别在左侧的Value框中输入1、3,并依次Add(添加)到Values to Count框中;
5、单击Continue回到图3.9a,再单击ok即可。
图3.9a Count对话框
图3.9b Define Values对话框
●重新赋值Recode
若研究者需要按消费q9分组分析,可采用Recode对q9重新赋值。Recode对话框用于从原变量值按照某种一一对应的关系生成新变量值,可以将新值赋给原变量,也可以生成一个新变量。比如说将q9分成5组,即“50元以下”、“50-100元”、“100-150元”、“150-250元”、“250元以上”,然后分别赋值为1、
23
2、3、4、5。其具体操作如下:
1、选择Transform→Record→Into Different Variables,Recode对话框如图3.10a。也可选择Transform→Record→Into Same Variables,但这样就替换掉了原始数据,不利于其他统计分析,所以常常选择Into Different Variables。
2、从变量列表中选择q9到Numeric Variable->Output框中,显示q9->?;
3、在Output Variable下Name框中输入新变量名groupq9,并定义label,再单击Change,将原来的“q9->?”变成“q9->groupq9”;
图3.10a Recode对话框
4、单击Old and New Values,系统弹出变量值定义对话框,如图3.10b。左侧是老数据Old Value,右侧是新赋值New Value;每指定一个或一组老数据后,就要在New Value框中输入一个新值,并单击Add,使老数据被重新赋予新值。其中左侧的Old Value中:
? Value:当原始数据为离散,且数据范围较小时,可一个一个地对老数据赋予新值; ? Range + Through:指定一组老数据,在第一个框里输入下限,第二个框里输入上限; ? Range + Lowest Through:在右边的筐里输入一个上限,可指定小于该上限的老数据组; ? Range + Through Higest:在左边的筐里输入一个下限,可指定大于该下限的老鼠剧组; ? All other values:指定所有剩余的、还没有被赋值的老数据为一个组。
前面要求重新赋值的q9,第一组“50以下”应选择Range + Lowest through,在其右侧框中键入50;再在右上方的Value右侧框中键入对应的新变量值1,并单击下方的Add键,此时Old->New框中就会加入“Lowest thru 50->1”。按照类似的方法依次加入另四组数据转换,最终Old->New框中共有Lowest thru 50->0、50 thru 100->2、100 thru 150->3、150 thru 250->4、Else->5等5条。
5、赋值完了以后,单击Continue回到图3.10a,再单击OK,系统就会按要求生成新变量groupq9。
24
图3.10b Recode赋值对话框
●条件转换If
案例中,若研究者要按sex(性别)和q10(被访问者对促销活动的态度)对被访问者分组,将“反感”的“男性”编入第1组,“反感”的“女性”编入第2组,“不感兴趣”的“男性”编入第3组,“不感兴趣”的“女性 ”编入第4组, “喜欢”的“男性”编入第5组,“喜欢”的“女性 ”编入第6组,或与此类似的有条件的变换,则可采用IF来转换。
If并出现在Transform的下拉菜单中,而是在各种转换过程中出现,如前三种转换过程中都能看到If的身影。在Computer过程中,对If有过简单的解释,其他过程中If的作用也是类似的,这里就不再一一累赘了。
附:实验项目1:SPSS数据文件建立与数据预处理操作 实验项目 实验日期 实验环境 实验内容 能应用SPSS软件进行:数据文件的建立、数据录入与修改、变量计算及转换 SPSS for WINDOWS 1、熟悉SPSS窗口菜单功能 2、根据给定的问卷,建立SPSS数据文件 3、录入数据 4、数据预处理操作 根据实验自己认真填写. 实验步骤 实验结论(或实验体会) 实验批改 1.写出求解问题的主要结果。 2.谈谈实验体会。
25