2017-03-07 183 views
0

我有一個SAS數據集,我想轉置字符和數值變量。只有區間和組是字符變量,其餘是數字變量。但是,proc轉置將所有變量轉換爲字符變量。如何修改下面的程序,以便數值變量在轉置過程之後保留爲數字和字符變量作爲字符?謝謝。如何在SAS中的proc轉置中保留數值變量?

proc transpose data=sourceh.test out=sourceh.test2; 
var interval group cap rank volatility correlation significance; 
run; 
+1

在同一列中不能有不同的類型。 – Reeza

+1

將長數據集轉置爲寬時,將爲原數據集中的每一行在新數據集中創建一列。正如@Reeza指出的那樣,這意味着您將在每列中得到數字和字符值的混合,因此變量類型必須是字符。也許如果你發佈了一些示例數據和你想要的結果,它可能會顯示與標準轉置不同的東西。 – Longfish

+0

我現在明白邏輯了,謝謝@Reeza和Longfish。我將char變量轉換爲數值變量,現在解決了我的問題。謝謝。 –

回答

2

您可以分兩步進行。

proc transpose data=sourceh.test out=nums prefix=num; 
    var _numeric_; 
    run; 
proc transpose data=sourceh.test out=char prefix=char; 
    var _character_; 
    run; 

僅供參考:您現在得到的字符轉換爲數字可以是一個有用的功能,我稱之爲集體VVALUE。