【初心者向け】多変量解析:R studioでやるロジスティック回帰分析の具体的な方法

  • URLをコピーしました!

こんにちは。ほしのはやしです。
ロジスティック回帰分析ってやたら論文に出てくるし、上司にやれって言われるけどエクセルじゃ難しそう。。。

そんなときに無料ソフトR studioでやれば簡単に結果が得られます!

このページでは、「どういうケース」に「具体的にどう使う」かを主体に解説していきます!

目次

ロジスティック回帰分析:Logistic regression analysisとは?

重回帰分析とよく似ていますが、重回帰分析は結果を数値として出力したい(量的変数)のに対して、ロジスティック回帰分析は確率で出力します(質的変数)。

重回帰分析についてはこちらのページをご覧ください!

例えば、ある薬を使ったときに28日時点での死亡に関わる因子を調べたい、こんなときに使えます!

ロジスティック回帰分析に使える因子(説明変数)の個数は?

ロジスティック回帰分析の場合は、先程の例でいくと生存群と死亡群の2つに分かれると思います。
その場合の少ない方の母数をNとすれば、以下の等式が提案されています。

N数÷10

すなわち、生存群が80人、死亡群が30人とすると、少ない方の群数は30ですから、説明変数は3個までになります。

星柴くん

英語圏ではOne in ten ruleとも言われるらしいよ!

ロジスティック回帰分析の因子(説明変数)の選び方は?探索的研究の場合は?

【やるべきこと】
・過去の文献で関連があるという項目をできる限り入れる
・今回の研究で明らかにしたい項目を入れる
・年齢、性別など要素が大きい因子は必ず入れる
・似たような項目はまとめる(例:身長, 体重と別ではなくBMIを使う。)
・できる限り項目を少なくする

【避けるべきこと】
・単変量で差があったもの、相関係数が高いものを片っ端から入れる

詳しい内容は重回帰分析のページで説明していますので、以下のページを参考にしてください!

具体的なコード(R studio):gtsummaryの裏技つき!!

AE:adverse event(副作用)の有り(1)無し(0)が、Intervention(治療)による影響をどれだけ受けたか、年齢、性別、BMIの影響を加味した上で評価したいとします。

テーブル名:datasheet2

AgeSexAEBMIIntervention
65M118Placebo
70F122.1DrugA
62M119.3DrugA
81M024.0DrugA
76F024.1Placebo
77F120.7Placebo

基本の構文は以下になります! (lmはエルとエムです!アイではありません!)

glm(調べたい結果 ~説明変数1 + 説明変数2 + … + 説明変数N, データシート名, family=”binomial”)

res2 <- glm(AE~Age+Sex+BMI+Intervention, datasheet2, family=”binomial”)
summary(res2)

ここからデータを読み取るのはなかなか骨が折れますよね。
初心者向けなので、論文で見やすい形を一気に作りましょう!
ここから先はgtsummaryのパッケージを使った最も簡単な方法で説明します。

gtsummaryのインストール方法と一般的な使い方はこちら!

library(gtsummary)
res2 <- glm(AE~Age+Sex+BMI+Intervention, datasheet2, family=”binomial”)
tbl_regression(res2, exponentiate = TRUE)

さて、オッズ比はPlaceboに対するDrugAの値を見たいですよね!
体裁も整えて以下のように最終的に以下が完成形になります。

library(tidyverse)
library(gtsummary)

datasheet2$Intervention <- as.factor(datasheet2$Intervention)
datasheet2$Intervention <- relevel(datasheet2$Intervention, ref = “Placebo”)

res2 <- glm(AE~Age+Sex+BMI+Intervention, datasheet2, family=”binomial”)

tbl_regression(res2, exponentiate = TRUE) %>%
bold_p(t=0.05) %>%
bold_labels()

ファクター型にしてrelevel関数を使うことで、リファレンスを任意に変更することができます!

まとめ

ロジスティック回帰分析の簡単な解説とR studioでの方法について説明しました!
少しでもお役に立てれば幸いです!

  • URLをコピーしました!

この記事を書いた人

柴犬をこよなく愛する読書家。
街歩きとお菓子作りを趣味にしています。
研究や論文に役立つ情報をわかりやすくお伝えします。

コメント

コメントする

目次