SAS 基礎 縦結合(set)、横結合(merge)
Base sasの基本であるdataステップでよく使われる結合に関しての覚え書きです。
縦結合(set)は縦積みに、横結合(merge)は横方向に結合する処理構文です。
◎縦結合(set)
★基本構文★
★オプション★
・keep : 指定した変数を残す
・drop : 指定した変数をはずす
・where : 条件を満たす変数のみ残す
・if : 条件を満たす変数のみ残す
・sample1
・sample2
これらのデータセットを単純に結合すると、単純に縦積みしたデータセットができます。
data test1 ;
set sample1 sample2 ;
run ;
・test1
本当にそのまま単純に縦積みで結合するので 「ichiro」という同じデータが重複していますが、削除されずそのまま縦に結合されます。
多くの場合はオプションつきで構文を使います。
◎「keep」を使うパターン
指定した変数のみを保持したい場合に使います。
data test2 ;
set sample1 sample2 ;
keep name sex ;
run ;
・test2
◎「drop」を使うパターン
dropで指定した変数が削除されます(保持しない)
data test3 ;
set sample1 sample2 ;
drop sex ;
run ;
・test3
◎「where」を使うパターン
条件を満たすもののみ保持(残りは削除)
data test2 ;
set sample1 sample2 ;
where sex = female ;
run ;
・test4
◎「if」を使うパターン
whereと同様 条件を満たすもののみ保持。
data test2 ;
set sample1 sample2 ;
if age >= 24 ;
run ;
・test5
◎横結合(merge)
★基本構文★
★オプション★
・keep : 指定した変数を残す
・drop : 指定した変数をはずす
・where : 条件を満たす変数のみ残す
・if : 条件を満たす変数のみ残す
・sample3
・sample4
・sample5
mergeを使う上で必ず必要となってくることは、
結合するkeyでsortしておく必要があるということです。
sample3とsample4を単純に結合すると。。
/** keyでソート **/
proc sort data = sample3 ;
by name ;
run ;
proc sort data = sample4 ;
by name ;
run ;
/** merge処理 **/
data test11 ;
merge sample3 sample4 ;
by name ;
run ;
・test11
このように結合します。情報がない部分はNull(欠損値)となります。
次に、sample3とsample5をキー二つで結合してみます。
/** keyでソート **/
proc sort data = sample3 ;
by name ;
run ;
proc sort data = sample5 ;
by name ;
run ;
/** merge処理 **/
data test12 ;
merge sample3 sample5 ;
by name age ;
run ;
・test12
このようにキーがすべて一致したものはすべての列に値が入ります。
オプションはset同様絞り込みや条件付きで結合する場合に使用します。
家でも手軽にSASの勉強♪ 無料 SAS University Eddition インストール★
会社勤めをしているとあまり気にはなりませんが、
SASのライセンスってとても高いんですよね。。
目が点になってしまうような価格設定。。。
SASの資格取得や研修もめちゃめちゃ高いです。いい商売ですなあ~~
とそんな、お高いSASを手軽に家でも勉強できる方法をご紹介します。
SAS社から
SAS University Edition
という無償のソフトウェアが発表されました。
一度ダウンロードしてしまえばオフラインでも使えます。
統計入門から高度な分析まで幅広い用途・人に対応したソフトです!
初歩的なBase SASを勉強したい私にもぴったりなソフトでした♪
SASの技術力は今後、ますます必要とされてくると思う知識です!
知っていて損はないかと。。
では、手順をざっと・・・
ダウンロードはこちらから↓
URLを開くと下の画面が、、
「今すぐ入手する」をクリックします!
クリックすると、以下のポップアップがでてきます。
今回はローカル環境で使うため左側の「ダウンロード」して使うを選択。
(※ダウンロード・インストールしたくない方は
別のSASを使用できる環境があるのでまた別記事でご紹介します!)
次にOSを選択、自分の端末の環境が対応しているか確認します。
以下条件を満たしている必要があります。
・Microsoft Windows 7、8、8.1、または10
・64ビット・ハードウェア、最小1GBのRAM
・Microsoft Internet Explorer 9、10、または11 または Mozilla Firefox 21以降 または Google Chrome 27以降
◎Mac
・Mac OS X 10.8以降
・64ビット・ハードウェア、最小1GBのRAM
・Apple Safari 6.0以降 または Mozilla Firefox 21以降 または Google Chrome 27以降
・x86-64ハードウェア、最小1GBのRAM
・Mozilla Firefox 21以降 または Google Chrome 27以降
わたしの端末はWindows7なので
そちらを例にご紹介しますね。
まずは、SASを実行するための仮想ソフトウェアを
インストールします。
Oracle VirtualBox for Windows
Downloads – Oracle VM VirtualBox
→すでにインストール済の人は飛ばしてください。
URLをクリックすると、この画面がでてくるので、
それぞれのOSに対応したものを選択!
→ちなみにWindowsでは117MBでした。
exeのダウンロードが完了したら、
インストールしていきます。ダブルクリックでexeを実行し、
Nextをひたすら押していきます。Yes,Okと選択するとインストール開始。
後は表示されるポップアップにしたがってインストールしていきます。
この画面が出てきたら完了です!
次に、SAS Universsity Editiionをインストールしていきます。
以下からダウンロードしていきます。
SASのプロファイルをもっていなければ作成し、もっている方はそのままログインしてください。
作成は右側の「Create profile」から作成できます。
ログイン後は規約に同意し、すすんでいきます。Shipmentが出てきますが、
無料(0.00USD)なので気にせず、以下の「continue」ボタンを押します。
ダウンロードが始まるので、完了するまで待ちます。(2GBあるため時間かかります。。)
ダウンロード完了★
あと少しです!
次は今ダウンロードしたSAS University EdditionをVirtualBocに追加します。
VirutualBoxを起動し、「ファイル」から「仮想アプライアンスインポート」を選択します。
インポート画面でさきほどダウンロードした「SAS University Eddition」を選択。
「次へ」で「インポート」を開始します。
完了したらこのような画面になります。
この後必要な操作として
結果やデータの保存先フォルダの設定をしておきます。
まず保存用のフォルダ(myfolders)をどこでもいいので作成してください。
(どこにつくってもいいですが、最後は「myfolders」という名前の必要あります)
そして、以下SAS University Edditionを選択し、
「設定」→「共有フォルダー」から右上のプラスマークを選択
でてきたポップアップにパスを設定!
自動マウントのみチェックしてOKを選択。
これで設定は完了!
起動すると時間はかかりますが、こんな画面がでてきます!(怪しめ)
以下に出てきているURLにアクセス!(chromeでもfirefoxでも可)
起動するとこんな感じの画面です!!!
とこんな感じでした!