定制网站建设的释义,WordPress登录提醒,宁波网站建设设计公司信息,iis7搭建asp网站在临床研究中#xff0c;接触最多的是二分类数据#xff0c;如淋巴癌是否转移#xff0c;是否死亡#xff0c;这些因变量最后都可以转换成二分类0与1的问题。然后建立二元logistic回归方程#xff0c;可以得到影响因素的OR值。但有时我们也会接触到多分类结局数据#xf…在临床研究中接触最多的是二分类数据如淋巴癌是否转移是否死亡这些因变量最后都可以转换成二分类0与1的问题。然后建立二元logistic回归方程可以得到影响因素的OR值。但有时我们也会接触到多分类结局数据今天咱们来演示一下怎么使用R语言进行多分类结局逻辑回归分析。 咱们先导入数据和R包
library(here)
library(tidyverse)
library(haven)
library(gtsummary)
library(VGAM)
library(kableExtra)
library(HSAUR)
library(reshape2)
setwd(E:/公众号文章2024年/R无序多分类Logistic回归)
load(hsbdemo.rda)
ms-hsbdemo这个数据是高中生毕业后的一个就业计划数据Prog是结局变量是个三分类变量预测变量是ses社会经济地位其他的是一些协变量。
变量比较多咱们选出需要的变量并且把字符变量转成因子
ms - ms %% select(ses, prog, female , write ) %% mutate(across(where(is.labelled), as_factor)) 咱们以prog为分类变量绘制个基线表了解相关数据分布
ms %%tbl_summary(by prog,statistic list(all_continuous() ~ {mean} ({sd}), all_categorical() ~ {n} ({p}%)),type list(where(is.logical) ~ categorical)) %% modify_caption(**Table 1. Survey Participant Characteristic**) %%modify_header(label ~ **Variable**) %%modify_spanning_header(c(stat_1, stat_2, stat_3) ~ **Baseline tables for three types of projects**) %%modify_footnote(all_stat_cols() ~ Mean (SD) or Frequency (%)) %%bold_labels() %%as_gt()我们以academic为参考建立新的变量
ms - ms %% mutate(prog2 fct_relevel(prog, c(academic, general, vocation)))
levels(ms$prog2)更改了参考类别后咱们使用prog2为结局变量建立无序多分类逻辑回归模型很多包可以建立这个模型我这里用vglm包来建我觉得比较简单点
fit - vglm(prog2~ ses write, multinomial, data ms)
summary(fit)这样结果就出来啦seslow:1和seslow:2的这两个系数是针对academic这个结局的 还可以做交互效应的把交互效应打上去就可以啦我这里就不弄了。
查看系数和可惜区间
b_mlog - coef(fit )
ci_mlog - confint(fit)
b_ci_mlog - data.frame(b_mlog,ci_mlog) %%rename(log odds b_mlog, Lower CI X2.5.., Upper CI X97.5..)
b_ci_mlog %% kbl(digits 2, booktabs T, caption Log odds from multinomial logistic regression) %%kable_styling(position center)查看各个结局概率的数据
predict.vgam(fit, type response) %% head(20)构造一个新数据
ms2 - data.frame(ses rep(c(low, middle, high), each 41), write rep(c(30:70), 3))
ms2-predict(fit, newdata ms2,type response) %% cbind(ms2)转化数据
ms3 - melt(ms2, id.vars c(ses, write), value.name probability)最后绘图
ggplot(ms3, aes(x write, y probability, colour ses)) geom_line() facet_grid(variable ~ ., scales free)表明随着write增加不同的经济基础转向各个计划的概率不同。
参考文献
https://xianxiongma.github.io/Clinical-model/chapter2/chapter2.htmlhttps://bookdown.org/drki_musa/dataanalysis/multinomial-logistic-regression.html