SASのデータセットを結合するサンプルです。
目次
サンプル | データセットを結合する(set) |
列を指定してデータセットを結合する(merge) |
データセットを結合する(set)
2つの表を1つのデータセットにします。
1つめの表です。科目は国語と算数と英語があります。
2つめの表です。科目は国語と算数があります。
上記2つの表を結合するコードです。
DATA seiseki3;
set seiseki1-seiseki2;
run;
2行目は、結合するデータセットです。
マイナス(-)の記号は、from-toを表します。
仮にseiseki1-seiseki3とした場合は、seiseki1とseiseki2とseiseki3を結合します。
マイナス(-)の記号を使用しない場合は、半角スペース区切りで記述します。
例:set seiseki1 seiseki2;
以下は結合した表(データセット)です。
2つめの表にあったデータは、英語がないのでその列は数値が入っていません。
ドット(.)は、欠損値と呼ばれます。
列を指定してデータセットを結合する(merge)
name列を指定して結合するため最初にname列を昇順に並び替えます。
上記1つめの表の列nameを昇順に並べます。
proc sort data = WORK.seiseki1 OUT=WORK.seiseki1srt;
by name;
run;
上記2つめの表の列nameも昇順に並べます。
proc sort data = WORK.seiseki2 OUT=WORK.seiseki2srt;
by name;
run;
2つの表の列にあるnameを指定してmergeで1つのデータセットにします。
DATA seiseki4;
merge seiseki1srt seiseki2srt;
by name;
run;
以下は結合した表(データセット)です。
1つめと2つめの表にあったsuzukiとtanakaは1行になっています。
関連の記事