こんにちは。ほしのはやしです。
ロジスティック回帰分析ってやたら論文に出てくるし、上司にやれって言われるけどエクセルじゃ難しそう。。。
そんなときに無料ソフトR studioでやれば簡単に結果が得られます!
このページでは、「どういうケース」に「具体的にどう使う」かを主体に解説していきます!
ロジスティック回帰分析:Logistic regression analysisとは?
重回帰分析とよく似ていますが、重回帰分析は結果を数値として出力したい(量的変数)のに対して、ロジスティック回帰分析は確率で出力します(質的変数)。
重回帰分析についてはこちらのページをご覧ください!
例えば、ある薬を使ったときに28日時点での死亡に関わる因子を調べたい、こんなときに使えます!
ロジスティック回帰分析に使える因子(説明変数)の個数は?
ロジスティック回帰分析の場合は、先程の例でいくと生存群と死亡群の2つに分かれると思います。
その場合の少ない方の母数をNとすれば、以下の等式が提案されています。
N数÷10
すなわち、生存群が80人、死亡群が30人とすると、少ない方の群数は30ですから、説明変数は3個までになります。
英語圏ではOne in ten ruleとも言われるらしいよ!
ロジスティック回帰分析の因子(説明変数)の選び方は?探索的研究の場合は?
詳しい内容は重回帰分析のページで説明していますので、以下のページを参考にしてください!
具体的なコード(R studio):gtsummaryの裏技つき!!
AE:adverse event(副作用)の有り(1)無し(0)が、Intervention(治療)による影響をどれだけ受けたか、年齢、性別、BMIの影響を加味した上で評価したいとします。
テーブル名:datasheet2
Age | Sex | AE | BMI | Intervention |
---|---|---|---|---|
65 | M | 1 | 18 | Placebo |
70 | F | 1 | 22.1 | DrugA |
62 | M | 1 | 19.3 | DrugA |
81 | M | 0 | 24.0 | DrugA |
76 | F | 0 | 24.1 | Placebo |
77 | F | 1 | 20.7 | Placebo |
… | … | … | … | … |
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()
まとめ
ロジスティック回帰分析の簡単な解説とR studioでの方法について説明しました!
少しでもお役に立てれば幸いです!
コメント