由于我是SAS的新手,我无法使用“proc import”命令将spss数据导入sas。我正在使用的代码:
proc import datafile = "C:\Users\spss.sav"
out=work.test
dbms = sav
replace;
run;
主要问题是当导入到sas时,数据表变量具有值而不是编码。因此,例如,如果变量“性别”被编码1 =男性2 =女性,则sas中的每个观察具有“女性”或“男性”。
现在根据这里:
如果在上面的代码之后添加了以下代码,则此问题将不复存在:
proc datasets;
modify my_dataset;
format _all_;
quit;
仍然存在的是,变量名称来自spss,而不是名称,当导入到sas时,它们具有在spss中分配的标签。是否有任何命令可以将变量的名称保留在SAS中,而不是SPSS标签?
答案 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。)以保持适当的年份。
但重点是,SPSS将创建一个没有格式的sas数据集和一个带有格式和代码的脚本来应用/修改这些格式的数据集。所以你可以控制这个过程。