私は以下のようなデータセットを持っています:
country
United States, Seattle
United Kingdom, London
国をSASのようなデータに分割するにはどうすればよいですか?
country city
United States Seattle
United Kingdom London
区切り文字としてコンマを指定して関数SCAN()を使用します。
data test;
set test;
city=scan(country,2,',');
country=scan(country,1,',');
run;
別のオプション、 INFILE magic
(トピックに関する論文の用語をグーグルで検索); 1つの文字列から多くの変数を解析したり、引用符で囲まれたフィールドを処理したりする場合など、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を回避するために任意の文字を含むオンザフライで作成するファイル)にすることができます。