如何使用SAS将字符串拆分为两个变量

时间:2013-12-10 21:42:09

标签: sas dataset

  1. 我有一个数据集如下:

    country
    United States, Seattle
    United Kingdom, London
    
  2. 如何将国家/地区拆分为SAS中的数据,如:

        country                  city
        United States           Seattle
        United Kingdom          London
    

2 个答案:

答案 0 :(得分:15)

使用函数SCAN(),逗号作为分隔符。

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

答案 1 :(得分:0)

另一种选择,INFILE magic(google关于该主题的论文的术语);用于解析一个字符串中的许多变量和/或处理带引号的字段,这样可以更好地处理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)。