OL、SEになる!おぼえがき★

関西人OL。SEの技術力獲得のためのおぼえがきまとめです!

SAS 基礎 縦結合(set)、横結合(merge)

  

Base sasの基本であるdataステップでよく使われる結合に関しての覚え書きです。

縦結合(set)は縦積みに、横結合(merge)は横方向に結合する処理構文です。

 

◎縦結合(set)

★基本構文★

 

data データセット名(出力);
  set データセット1(入力) データセット2(入力) ;         
run ;

 

★オプション★

・keep : 指定した変数を残す
drop : 指定した変数をはずす
・where : 条件を満たす変数のみ残す         
・if : 条件を満たす変数のみ残す

 

 ・sample1

f:id:omihosam:20161213225532p:plain

 ・sample2

f:id:omihosam:20161213225539p:plain

 

これらのデータセットを単純に結合すると、単純に縦積みしたデータセットができます。

data test1 ;
  set sample1 sample2 ;         
run ;

 ・test1

f:id:omihosam:20161213225556p:plain

 

本当にそのまま単純に縦積みで結合するので 「ichiro」という同じデータが重複していますが、削除されずそのまま縦に結合されます。

多くの場合はオプションつきで構文を使います。

 

◎「keep」を使うパターン

指定した変数のみを保持したい場合に使います。

data test2 ;
  set sample1 sample2 ;         
  keep name sex ;
run ;

 ・test2

f:id:omihosam:20161213225610p:plain

 

 ◎「drop」を使うパターン

 dropで指定した変数が削除されます(保持しない)

data test3 ;
  set sample1 sample2 ;         
  drop sex ;
run ;

・test3

f:id:omihosam:20161213225619p:plain

 

 ◎「where」を使うパターン

条件を満たすもののみ保持(残りは削除)

data test2 ;
  set sample1 sample2 ;         
  where sex = female ;
run ;

・test4

f:id:omihosam:20161213225718p:plain

 

 ◎「if」を使うパターン

whereと同様 条件を満たすもののみ保持。

data test2 ;
  set sample1 sample2 ;         
  if age >= 24 ;
run ;

・test5

f:id:omihosam:20161213230135p:plain

 

◎横結合(merge)

★基本構文★

data データセット名(出力);
  merge データセット1(入力) データセット2(入力) ;         
  by キー(結合の基準となる変数(複数可))
run ;

★オプション★

・keep : 指定した変数を残す
drop : 指定した変数をはずす
・where : 条件を満たす変数のみ残す         
・if : 条件を満たす変数のみ残す



 ・sample3

f:id:omihosam:20161213225532p:plain

 ・sample4

f:id:omihosam:20161214002537p:plain

  ・sample5

f:id:omihosam:20161214003329p:plain

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

f:id:omihosam:20161214002921p:plain

このように結合します。情報がない部分は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

f:id:omihosam:20161214003340p:plain

このようにキーがすべて一致したものはすべての列に値が入ります。

オプションはset同様絞り込みや条件付きで結合する場合に使用します。

 

 

家でも手軽にSASの勉強♪ 無料 SAS University Eddition インストール★

 

 

会社勤めをしているとあまり気にはなりませんが、

SASのライセンスってとても高いんですよね。。

 

 

目が点になってしまうような価格設定。。。

SASの資格取得や研修もめちゃめちゃ高いです。いい商売ですなあ~~

 

 

とそんな、お高いSASを手軽に家でも勉強できる方法をご紹介します。

 

SAS社から 

SAS University Edition

という無償のソフトウェアが発表されました。

一度ダウンロードしてしまえばオフラインでも使えます。

統計入門から高度な分析まで幅広い用途・人に対応したソフトです!

 

 

初歩的なBase SASを勉強したい私にもぴったりなソフトでした♪

SASの技術力は今後、ますます必要とされてくると思う知識です!

知っていて損はないかと。。

 

 

 

では、手順をざっと・・・

 

ダウンロードはこちらから↓

 

 

www.sas.com

 

 

URLを開くと下の画面が、、

「今すぐ入手する」をクリックします!

 

f:id:omihosam:20161212125144j:plain

 

 

クリックすると、以下のポップアップがでてきます。

今回はローカル環境で使うため左側の「ダウンロード」して使うを選択。

(※ダウンロード・インストールしたくない方は

  別のSASを使用できる環境があるのでまた別記事でご紹介します!)

 

f:id:omihosam:20161212125248j:plain

 

 

次にOSを選択、自分の端末の環境が対応しているか確認します。

 

f:id:omihosam:20161212125812j:plain

以下条件を満たしている必要があります。

Windows

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以降

 

LINUX

Linuxオペレーティング・システム

x86-64ハードウェア、最小1GBのRAM

Mozilla Firefox 21以降 または Google Chrome 27以降

 

 

 

わたしの端末はWindows7なので

そちらを例にご紹介しますね。

 

 

 

まずは、SASを実行するための仮想ソフトウェアを

インストールします。

 

Oracle VirtualBox for Windows

Downloads – Oracle VM VirtualBox

 

→すでにインストール済の人は飛ばしてください。

 

f:id:omihosam:20161212130340j:plain

 

URLをクリックすると、この画面がでてくるので、

それぞれのOSに対応したものを選択!

→ちなみにWindowsでは117MBでした。

 

f:id:omihosam:20161212131459p:plain

 

 

exeのダウンロードが完了したら、

インストールしていきます。ダブルクリックでexeを実行し、

 

f:id:omihosam:20161212132610p:plain

 

Nextをひたすら押していきます。Yes,Okと選択するとインストール開始。

後は表示されるポップアップにしたがってインストールしていきます。

 

この画面が出てきたら完了です!

 

 

f:id:omihosam:20161212133024p:plain

 

 

 

次に、SAS Universsity Editiionをインストールしていきます。

以下からダウンロードしていきます。

 

https://login.sas.com/opensso/UI/Login?realm=/extweb&goto=https%3A%2F%2Fwww.sas.com%2Fstore%2Fexpresscheckout.ep%3FstoreCode%3DSAS_US%26storeCode%3DSAS_US%26item%3DDPUNVE001_VirtualBox&req=ph

 

f:id:omihosam:20161212133232p:plain

 

 

 

SASのプロファイルをもっていなければ作成し、もっている方はそのままログインしてください。

作成は右側の「Create profile」から作成できます。

 

 

f:id:omihosam:20161212133455p:plain

 

 

ログイン後は規約に同意し、すすんでいきます。Shipmentが出てきますが、

無料(0.00USD)なので気にせず、以下の「continue」ボタンを押します。

 

f:id:omihosam:20161212142757p:plain

 

 

ダウンロードが始まるので、完了するまで待ちます。(2GBあるため時間かかります。。)

 

 

f:id:omihosam:20161212184854p:plain

 

 

ダウンロード完了★

あと少しです!

次は今ダウンロードしたSAS University EdditionをVirtualBocに追加します。

 

 

VirutualBoxを起動し、「ファイル」から「仮想アプライアンスインポート」を選択します。

 

f:id:omihosam:20161212185803p:plain

 

 

インポート画面でさきほどダウンロードした「SAS University Eddition」を選択。

 

「次へ」で「インポート」を開始します。

完了したらこのような画面になります。

 

f:id:omihosam:20161212190708p:plain

 

 

この後必要な操作として

結果やデータの保存先フォルダの設定をしておきます。

まず保存用のフォルダ(myfolders)をどこでもいいので作成してください。

 (どこにつくってもいいですが、最後は「myfolders」という名前の必要あります)

 

そして、以下SAS University Edditionを選択し、

 

 

f:id:omihosam:20161212191817p:plain

 

 

「設定」→「共有フォルダー」から右上のプラスマークを選択

 

f:id:omihosam:20161212230423p:plain

 

でてきたポップアップにパスを設定!

自動マウントのみチェックしてOKを選択。

f:id:omihosam:20161212193344p:plain

 

 これで設定は完了!

 

 起動すると時間はかかりますが、こんな画面がでてきます!(怪しめ)

以下に出てきているURLにアクセス!(chromeでもfirefoxでも可)

 

f:id:omihosam:20161212230506p:plain

 

 

起動するとこんな感じの画面です!!!

 

f:id:omihosam:20161212231723p:plain

 

とこんな感じでした!