2013-03-14 65 views
0

相对较新的SAS和我在SPSS(.sav)数据文件上使用proc导入,它运行良好,但我注意到它只带入SPSS值标签,而不是数字等值。性别列1 ='男',2 ='女',在SAS数据集'男'和'女'中出现一个例子,而不是1或2.从SPSS进口Proc

任何洞察力将不胜感激。当前代码...

proc import datafile = "C:\Data\workload_20130314.sav" 
    out=library.workload_20130314 
    dbms = sav 
    replace; 
run; 

回答

0

您可能在那里有底层值,它们可能只是格式化的。尝试打开数据集并查看您正在查看的其中一列的列属性;它可能有一个像Q49F一样的格式。或者是那样做的。它仍然适用于PROC MEANS或任何作为数字变量。

您可以运行,我认为,像

proc datasets; 
modify my_dataset; 
format _all_; 
quit; 

去除覆盖。你也可以根据具体情况做到这一点。

+0

感谢您的信息。代码肯定会给我一个起点。 – Atwp67 2013-03-14 23:26:46

+0

但你如何使覆盖永久?就我而言,堆叠多年的数据后,仅应用最新的Q49F格式,2012年的数据为0 = 2012,变为0 = 2014(仅在垂直连接后保留最新格式)。 – 2015-03-11 22:01:15

+0

覆盖并不意味着永久。这是一种格式。它将代码的含义与其分开。通常情况下,你会有一个跨多年的代码(所以你没有你描述的问题)。如果它在几年中有所不同,那么您需要做一些工作(通常有相当多的工作)来将格式转换为实际值(即,现在我们需要字符变量而不是数字),或者修改代码被保护(例如,YYYY00 +值是新值,然后调整格式)。 – Joe 2015-03-11 22:08:26