将SPSS数据导入SAS,无需标签和值

时间:2015-03-06 08:45:04

标签: import sas labels spss

由于我是SAS的新手,我无法使用“proc import”命令将spss数据导入sas。我正在使用的代码:

proc import datafile = "C:\Users\spss.sav"
 out=work.test
 dbms = sav
 replace;
 run;

主要问题是当导入到sas时,数据表变量具有值而不是编码。因此,例如,如果变量“性别”被编码1 =男性2 =女性,则sas中的每个观察具有“女性”或“男性”。

现在根据这里:

Proc Import from SPSS

如果在上面的代码之后添加了以下代码,则此问题将不复存在:

proc datasets;
modify my_dataset;
format _all_;
quit;

仍然存在的是,变量名称来自spss,而不是名称,当导入到sas时,它们具有在spss中分配的标签。是否有任何命令可以将变量的名称保留在SAS中,而不是SPSS标签?

2 个答案:

答案 0 :(得分:3)

您可能会看到列标签,但基础名称仍然存在。您可以修改datasets程序以删除标签和格式。在proc import

后尝试此操作
proc datasets library = work;
    modify test;
    attrib _ALL_ label = " " format =;
run;

attrib语句正在为每个变量应用空白标签和格式。

答案 1 :(得分:0)

我有类似的问题。我有一个年度SPSS数据集用于调查和相同的格式,称之为" Yearformat"会有0 = 2011年,1 = 2012年,...对于2011年的数据,但是0 = 2012年,1 = 2013年......,对于2012年的数据等等。似乎应该有更好的解决方案,但是我确实是.. SPSS - >另存为SAS 9 for windows ..并单击选项将格式输出到sas数据集,然后根据需要应用/修改格式..主要是数据数据;设定数据; newyear = put(year,yearformat。)以保持适当的年份。

enter image description here

但重点是,SPSS将创建一个没有格式的sas数据集和一个带有格式和代码的脚本来应用/修改这些格式的数据集。所以你可以控制这个过程。