将没有标签和值的 SPSS 数据导入 SAS

Import SPSS data into SAS without Labels and Values

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

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

主要问题是当导入到 sas 时,数据表变量有值而不是编码。因此,例如,如果变量 "Gender" 编码为 1=男性 2=女性,则 sas 中的每个观察值都有 "female" 或 "male".

现在根据这里:

Proc Import from SPSS

如果在上面的代码后面加上下面的代码,那么这个问题就不存在了:

proc datasets;
modify my_dataset;
format _all_;
quit;

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

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

之后试试这个
proc datasets library = work;
    modify test;
    attrib _ALL_ label = " " format =;
run;

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

我遇到了类似的问题。我有每年一次的 SPSS 数据集用于调查和相同的格式,称它为 "Yearformat" 将是 0=2011、1=2012、... 对于 2011 年的数据,但 0=2012、1=2013、... ,对于2012年的数据等。似乎应该有更好的解决方案,但我所做的是.. SPSS -> 另存为 SAS 9 for windows.. 然后单击选项将格式输出到 sas 数据集,然后根据需要应用/修改格式..主要是数据数据复制;设置数据; newyear = put(year,yearformat.) 以保留正确的年份。

但重点是,SPSS 将创建一个没有格式的 sas 数据集和一个具有格式的脚本,以及 apply/modify 具有这些格式的数据集的代码。所以你可以控制这个过程。