统计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