6SPSS操作答疑
Q:如何更改变量在SPSS文件中的顺序?
A:SPSS没有提供相应的对话框来更改变量在文件中的顺序,通过在窗口中拖动变量来之执行这个操作无疑是非常麻烦的。只有通过以下语句:
SAVE OUTFILE='文件名' /keep=var1 var10 var2 to var7 var9 var8
/COMPRESSED.
OUTFILE指定一个文件名,SPSS将把当前的数据保存为该文件;KEEP语句后要写上所有的变量名,按照您想要的顺序书写。未写上的变量将被删除。运行该语句以后打开O UTFILE指向的文件,变量顺序就已经改变了。如果变量很多的话,逐个书写变量名将是一件很烦的事情,这时一个简便的方法是通过菜单( Utilities->Variables)选择变量并paste到SYNTAX中。
以上语句适用于一般情况下的数据,下面再介绍另一种方法。
如果只想让变量按照变量名的顺序排列(升序或降序),并且变量中不包含任何字符型变量。那么可以将SPSS的数据进行行列转置,转换后SPSS自动将原来的变量名保存在一个新变量case_lbl中,再接着对数据按变量case_lbl进行排序(升序或降序),然后再进行一次行列转置,这样就可以实现排序的目的。
用syntax来实现就是:
FLIP.
SORT CASES BY case_lbl.
FLIP NEWNAMES=case_lbl.
用对话框来执行以上操作就是:
1、 从菜单Data>Transpose,在对话框中选中所有变量进入“Variables”列表框,然后点“OK”,将数据行列转置
2、 从菜单“Data>Sort Cases”,将数据按照变量case_lbl排序
3、 再回到菜单“Data>Transpose”,选中变量case_lbl进入“Name Variable”,将剩下的所有变量选进“Variables”列表框,按“OK”执行。
和进行行列转置前的数据相对比,数据中多了一个变量case_lbl,我们可以把它删除。但是更重要的差别是:行列转置后的数据,所有的变量标签、数值标签和格式都丢失了,需要重新设置。如果有字符型变量,那么该变量数据将全部丢失,成为sysmis。所以我们在进行数据的行列转置之前,先将文件保存。在执行完以上三个步骤后,从菜单“File>Apply Data Dictionary”选择先前保存过的文件将其变量标签、数值标签、格式等信息导到转换过的数据中。相应的syntax就是:
APPLY DICTIONARY
FROM='D:\aa.sav'.
至于数据中存在字符型变量而又确实要执行以上操作的,可以先用“Automatic Recode”将字符变量转化成数值变量,然后再执行以上操作。
[color=red]创建连续变量名[color]]
需要创建很多变量,但是这些变量名称存在连续性,比如“lvstyl1, lvstyl2, lvstyl3 . . . .
lvstyl80”,可以用data list命令的 to 关键字:
data list /var1 to var80 1-80 (a).
begin data.
…
end data.
execute.
但是运行了 data list 命令后产生新的数据文件,而不是往现有的数据文件里添加变量。所以,如果是要继续添加变量的话,vector()命令是很好的选择:
VECTOR lvsty(180).
上述命令创建180个连续的以字符 “lvsty” 开头的变量,lvsty1 到 lvsty180。
Vector()命令还可以指定变量的格式,如:
VECTOR lvsty(180,A5).
创建180个5个字符宽度的字符串类型变量。
在spss10.07 的另一种方法就是在 variable view 视图里输入变量名,比如“var01”,拷贝这个名称,然后在其下方某处(要创建几个变量,就往下数几行)粘贴,SPSS就会自动创建一串连续的变量var02 var03 ….
声明:部分文章和信息来源于互联网,如转载内容涉及版权等问题,请立即与小编联系,我们将迅速采取适当的措施。