1

SASコマンドと のコマンドを比較していますRCAT1 つの曝露 ( where1 equals highおよび など0 equals low) およびone cofounding variable ( cholesterol leve, などCHL) が疾患変数 ( など)に与える影響を評価したいとしますCHDSASでオッズ比の数値を取得するには、たとえば、特定の値がCHL220 にHPT等しく、モデルに ( ) のような交互作用項が含まれている場合に 1 に等しいとしますCC = CAT*CHL。コマンドは次のとおりです。

PROC GENMOD data=l2 DESCENDING;
MODEL CHD=CAT CHL CC/LINK=LOGIT DIST=BINOMIAL;
ESTIMATE CAT 1 CC 220 /EXP;
RUN;

Rでそのようなコマンドを見つけたいだけです.Rにそのためのコードはありますか?

4

1 に答える 1

1

以前のコメントを回答としてコピーする: OP が 4 列のデータ状況について質問していると思います。

mdl <- glm(CHD ~ CAT + CHOL + CC, data=df, "binomial") 

あなたのアドバイスに従うこと。ただし、相互作用項を個別に計算するのではなく、数式メカニズムを使用して「*」演算子との相互作用を表す方がよいでしょう。

mdl <- glm(CHD ~ CAT * CHOL , data=df, "binomial")

これにより、主効果と相互作用係数の両方が得られます。また、主効果と一致しない交互作用項を入力する可能性があることでつまずくことがない場合は、predict メソッドでもうまく機能します。/EXP オプションが SAS で何を生成しているのかはわかりませんが、オッズ比を返している可能性があると推測しています。これにより、予測確率が得られます。

predict(mdl, data.frame(CHL=220, HPT=1), type= "response")

共変量の平均のベースラインを暗黙的に仮定しない限り、各共変量の単一の値がオッズ比を生成できるとは思いません。おそらく、次の方法で有用な情報を取得できます。

exp( diff( predict(mdl, data.frame(CHL=c(220, mean(df$CHL) ) , HPT= c(1,0) )  ) ) )

これは、CHL=220 で高血圧症の人を高血圧症でない人と比較したオッズ比であり、コホートの平均値はどうであれ (データがないためテストされておらず、さらに計算が必要になる場合があります) ことを意図しています。コレステロールかもしれません。

UCLA の Biostatisics ページは、これを学習するのに適しています。このページで提示するデータの例をいくつかピックアップできる場合があります。

SAS の予備知識を利用したい人向けのリソースもあります。

http://r4stats.com/2012/06/13/why-r-is-hard-to-learn/

http://www.revolutionanalytics.com/news-events/free-webinars/2011/intro-to-r-for-sas-spss/

後に完全な本に拡張された無料の PDF:

于 2013-02-09T20:47:14.917 に答える