*------------------------------------------------------------------; * 昭和大学 第11回実践臨床統計学セミナー・ハンズオン2 ; * 一般化推定方程式 ; * 2020年11月9日   ; *------------------------------------------------------------------; *------------------------------------------------------------------; * 1. CSVデータファイルの読み込み               ; *------------------------------------------------------------------; proc import out=work.actg datafile = "C:\SAS2\actg193a.csv" dbms = csv replace; getnames = yes; datarow = 2; run; *-- datafile=... のフォルダ・ファイルのパスは適当に変更してください。; *-- Cドライブ直下に "SAS2" というフォルダを作っていただくと、以後の実習でも、プログラムの改変なしに、配布したコードでデモを実行することができます。; *------------------------------------------------------------------; * 2. CORRプロシジャによる相関分析(相関係数の計算) ; *------------------------------------------------------------------; proc corr data=actg; var Y BASVAL; where WEEK=16 and TRT=0; run; proc corr data=actg; var Y BASVAL; where WEEK=16 and TRT=1; run; proc corr data=actg; var Y BASVAL; where WEEK=32 and TRT=0; run; proc corr data=actg; var Y BASVAL; where WEEK=32 and TRT=1; run; *-- PROC CORRで、相関係数を計算することができます。; *-- WHEREステートメントで指定した条件に合致するサブサンプルに限定して、解析を実行することができます。; *------------------------------------------------------------------; * 3. GENMODプロシジャによるGEE解析(線形回帰モデル,交換可能) ; *------------------------------------------------------------------; proc genmod data=actg; class PATIENT TRT(REF="0") WEEK(REF="32"); model Y = TRT BASVAL WEEK TRT*WEEK / dist=normal link=identity; repeated subject=PATIENT / corr=exc CORRW; run; *-- PROC GENMODで、GEEによる解析を実行することができます。; *-- GENMODは、通常は、線形回帰モデル、ロジスティック回帰モデルなどの解析のためのモジュールですが、REPEATEDステートメントを加えることによって、GEEによる解析を行うことができます。; *-- MODELステートメントで、回帰式を指定します。DIST/LINKで、結果変数の分布形を指定します。線形回帰の場合は、NORMAL/IDENTITYの組み合わせになります。; *-- REPEATEDステートメントにおけるSUBJECTで、クラスターを識別する変数(経時データの場合は、「個人」を識別する変数)を指定します。; *-- CORRで、作業相関行列を指定します。”EXC”は、”EXCHANGEBLE” です。; *-- CORRWをオプションに加えると、作業相関行列の推定値を出力に加えることができます。; *------------------------------------------------------------------; * 4. GENMODプロシジャによるGEE解析(線形回帰モデル,無構造)  ; *------------------------------------------------------------------; proc genmod data=actg; class PATIENT TRT(REF="0") WEEK(REF="32"); model Y = TRT BASVAL WEEK TRT*WEEK / dist=normal link=identity; repeated subject=PATIENT / corr=un CORRW; run; *-- PROC GENMODで、GEEによる解析を実行することができます。; *-- GENMODは、通常は、線形回帰モデル、ロジスティック回帰モデルなどの解析のためのモジュールですが、REPEATEDステートメントを加えることによって、GEEによる解析を行うことができます。; *-- MODELステートメントで、回帰式を指定します。DIST/LINKで、結果変数の分布形を指定します。線形回帰の場合は、NORMAL/IDENTITYの組み合わせになります。; *-- REPEATEDステートメントにおけるSUBJECTで、クラスターを識別する変数(経時データの場合は、「個人」を識別する変数)を指定します。; *-- CORRで、作業相関行列を指定します。”UN”は、”UNSTRUCTURED” です。; *-- CORRWをオプションに加えると、作業相関行列の推定値を出力に加えることができます。; *------------------------------------------------------------------; * 5. GENMODプロシジャによるGEE解析(ロジスティック回帰モデル,無構造) ; *------------------------------------------------------------------; proc genmod data=actg; class PATIENT TRT(REF="0") WEEK(REF="32"); model D = TRT BASVAL WEEK TRT*WEEK / dist=bin link=logit; repeated subject=PATIENT / corr=un CORRW; lsmeans TRT*WEEK / ilink exp diff cl; run; *-- PROC GENMODで、GEEによる解析を実行することができます。; *-- GENMODは、通常は、線形回帰モデル、ロジスティック回帰モデルなどの解析のためのモジュールですが、REPEATEDステートメントを加えることによって、GEEによる解析を行うことができます。; *-- MODELステートメントで、回帰式を指定します。DIST/LINKで、結果変数の分布形を指定します。ロジスティック回帰の場合は、BIN/LOGITの組み合わせになります。; *-- REPEATEDステートメントにおけるSUBJECTで、クラスターを識別する変数(経時データの場合は、「個人」を識別する変数)を指定します。; *-- CORRで、作業相関行列を指定します。”UN”は、”UNSTRUCTURED” です。; *-- CORRWをオプションに加えると、作業相関行列の推定値を出力に加えることができます。; *-- LSMEANSステートメントで、TRT*WEEKを指定することで、治療群*時点のすべての組み合わせでのアウトカムの対比についての推定・検定の結果を出力することができます。; *-- ”exp” というオプションをつけることによって、オッズ比の推定値・信頼区間を出力することもできます。;