2018年1月27日土曜日

SASオフ会に行ってきました

露骨にブログ記事を稼いでいくスタイルを見せつけています.
特に内容はないです.

先日(1月26日)にデータステップ100万回の管理人さん含めて6人でオフ会しました
せっかくの飲み会…ということで一人一つsasネタを持ち寄って軽く紹介しあいました
ユーザー会より気楽にネタ作ってポンと発表できるのはいい感じでしたね…

私が持って行ったネタの資料はswayに転がしておきました
こちらから閲覧できます.
pptの資料をswayに変換しただけなのでイマイチ見にくいかもしれません

次の開催は4月か5月頃ですかねえ.年度末は忙しいですし.

2018年1月25日木曜日

Wilcoxonの符号付き順位和検定_proc univariate

SASでWilcoxonの符号付き順位和検定は,proc univariateを実行することで出来ます.
こちらはWilcoxonの順位和検定と異なり,対応のあるデータに対して行います.

univariateプロシジャに,対応前後の差の値(変化量の様なもの)を格納した変数を指定します.
以下の仮のデータセットで言う所の「CHG」に当たります.(after-beforeで導出)

以下のプログラムではTEST_UNIのデータセットにunivariateプロシジャの結果を出力しています.
Wilcoxonの順位和検定のp-値は「_PROBS_」に格納されています.

今回はnoprintを指定することでoutput画面への出力を抑制していますが,
outputでは「位置の検定」の項目に結果が出されています.


/*---------- プログラム ----------*/

data TEST ;
 CAT = 1 ;  BEFORE = 1 ; AFTER = 3 ; CHG = 2  ; output ;
 CAT = 1 ;  BEFORE = 2 ; AFTER = 6 ; CHG = 4  ; output ;
 CAT = 1 ;  BEFORE = 3 ; AFTER = 1 ; CHG = -2 ; output ;
 CAT = 1 ;  BEFORE = 4 ; AFTER = 3 ; CHG = 1  ; output ;
 CAT = 2 ;  BEFORE = 5 ; AFTER = 2 ; CHG = -3 ; output ;
 CAT = 2 ;  BEFORE = 6 ; AFTER = 1 ; CHG = -5 ; output ;
 CAT = 2 ;  BEFORE = 7 ; AFTER = 6 ; CHG = -1 ; output ;
 CAT = 2 ;  BEFORE = 8 ; AFTER = 5 ; CHG = 3  ; output ;
run ;

proc univariate data = TEST outtable = TEST_UNI noprint ;
 class CAT ;
    var CHG  ;
run ;