2013-03-14 62 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