2013-12-10 479 views
4
  1. 我有如下數據集:如何使用SAS來將字符串分割成兩個變量

    country 
    United States, Seattle 
    United Kingdom, London 
    

我怎樣才能在SAS分裂國家轉變爲一個數據,如:

country     city 
    United States   Seattle 
    United Kingdom   London 
+1

順便說一句,如果在論壇上詢問這類問題,Google的搜索速度會快得多,教育程度也會更高; –

+4

另一方面,當更多人在論壇上提出這些問題時,情況會變得更加真實。 – Vincent

回答

13

使用帶逗號作爲分隔符的函數SCAN()。

data test; 
    set test; 
    city=scan(country,2,','); 
    country=scan(country,1,','); 
run; 
0

另一個選項,INFILE magic(谷歌關於該主題的論文的術語);用於解析來自一個字符串的許多變量和/或處理引用的字段,這樣可以更好地處理scan

filename tempfile "c:\temp\test.txt"; 


data have; 
input @1 country $50.; 
datalines; 
United States, Seattle 
United Kingdom, London 
;;;; 
run; 

data want; 
set have; 
infile tempfile dlm=',' dsd; 
input @1 @@; 
_infile_=country; 
format newcountry city $50.; 
input newcountry $ city $ @@; 
run; 

tempfile可以(你在任何字符以避免過早EOF動態創建或一個)的任何文件。

相關問題