统计211

标题: SPSS批量处理变量 [打印本页]

作者: 275932488    时间: 2010-5-30 11:18
标题: SPSS批量处理变量
【转帖】通常我们选择使用SPSS是因为有比较友好的交互窗口,可以不用像SAS那样写代码。但是这也有劣势……
当遇到有上千个变量的数据集的时候,窗口操作就傻掉了……记得变量名,但是要从变量名列表中找到它就如大海捞针了……
上几天我就碰到了这样的一个数据集,有1200多个变量。这下傻眼了……

分析要用到其中的几个变量,而且变量还要重新整理。
比如,重新编码……真不好玩……我就以第一个变量为例,然后paste到程序编辑器,这样该有的语句都有了,只需要修改一下就ok了……
这个是RECODE的代码:
RECODE
  qhc2a
  (1 thr 4=1)  (5=0)  (ELSE=SYSMIS)  INTO  yy1 .
VARIABLE LABELS yy1 '是否上税'.
VALUE LABEL yy1 1 '有' 0 '无'.
EXECUTE .

其实仔细观察,发现这个RECODE只是前面一个句点,语法是
RECODE
原变量
重编码规则    INTO 新变量.

下面的两句是针对新变量的属性设置,分别是对变量标签和值标签进行设置。
VARIABLE LABELS yy1 '是否上税' var2 "变量名2".
VALUE LABEL yy1 1 '有上税' 0 '无上税'.
对变量标签的定义可以连着往下继续,但是对值标签的定义不可以(好像)
相似的还有
MISSING VALUE yy1 (-9 -10).
这个是设置缺失值的。

其实只要能够灵活的运用paste,就可以解决这样的问题,而且在处理大量重复操作的时候也很有用。只需要少量修改变化的部分。


另外,对于如果只使用那么多变量里面的其中几个时,可以把那部分的变量提取出来,用SAVE as,在保存的上面有一个Variables..,在这里你可以选择你需要的变量。不过在变量很多的时候,这个过程也很郁闷,那么还是用代码吧。
SAVE OUTFILE='Y:\abc.sav'
  /KEEP=x1 x2  /COMPRESSED.
这里的x1 x2就是你选择的变量。




欢迎光临 统计211 (http://tj211.com/) Powered by Discuz! X3.2