gpt4 book ai didi

r - 如何在表格中总结多个逻辑回归模型?

转载 作者:行者123 更新时间:2023-12-04 10:18:50 25 4
gpt4 key购买 nike

我有一个数据集,其中年龄是连续的并作为一个因素,性别作为一个因素和 4 个组。

structure(list(Age = c(9, 12, 16, 57), Age_1 = structure(c(2L, 
3L, 3L, 7L), .Label = c("8", "1", "2", "3", "4", "5", "6", "7"
), class = "factor"), Sex = structure(c(2L, 1L, 2L, 1L), .Label = c("M",
"F", "U"), class = "factor"), N = structure(c(2L, 2L, 2L,
2L), .Label = c("0", "1"), class = "factor"), G = structure(c(1L,
1L, 1L, 1L), .Label = c("0", "1"), class = "factor"), L_1 =
structure(c(1L,
1L, 1L, 1L), .Label = c("0", "1"), class = "factor"), C_1 =
structure(c(1L,
1L, 1L, 1L), .Label = c("0", "1"), class = "factor"), G_1 =
structure(c(1L,
1L, 1L, 1L), .Label = c("0", "1"), class = "factor"), m = structure(c(1L,
1L, 1L, 1L), .Label = c("0", "1"), class = "factor"), A = c(1,
1, 1, 1)), row.names = c(NA, 4L), class = "data.frame")

我想对每个组(N、G、L_1、C_1、G_1、m)的每个变量(年龄、年龄_1 和性别)进行逻辑回归。
例如。
mylogit <- glm(N  ~ Sex, data = logistic_s, family = "binomial")
mylogit <- glm(N ~ Age, data = logistic_s, family = "binomial")

我正在使用 gtsummary 将变量组合到一个表中。
library(gtsummary) 

tbl_n <-
tbl_uvregression(
logistic_s[c("N", "Age", "sex", "Age_1")],
method = glm,
y = N,
method.args = list(family = binomial),
exponentiate = TRUE
)

tbl_n

这将生成一组(例如 N)的输出,其中包含变量 Age、Age_1、Sex。

我想对每个组(例如 N、G、L_1 等)重复此操作,然后将这些表组合成一个组合表。

如果有其他更适合的选项,我愿意使用不同的软件包。我想做一个可以用word导出的表格。

最佳答案

我同意一些可重现的代码会有所帮助。我不是 100% 确定您想要获得什么样的输出。您想分别为 2 个或更多组构建一些单变量逻辑回归模型吗?

如果这是正确的,这是一种解决方法:
我将使用 trial gtsummary中的数据集包为例。我将进行分组变量处理( trt )。

library(gtsummary)
library(tidyverse)

trial_subset <-
trial %>%
select(trt, response, age, marker, grade)

我们将首先构建由 trt 分层的单变量回归表。使用 tbl_uvregression()函数来自 gtsummary包裹。它们将存储在名为 tbl_uv 的数据框中的新列中。 .

df_uv <-
trial_subset %>%
# group by trt, and nest data within group
group_by(trt) %>%
nest() %>%
# build univariate logistic regression models separately within grouping variable
mutate(
tbl_uv = map(
data,
~tbl_uvregression(
data = .x,
y = response,
method = glm,
method.args = list(family = binomial),
exponentiate = TRUE
)
)
)
#> # A tibble: 2 x 3
#> # Groups: trt [2]
#> trt data tbl_uv
#> <chr> <list> <list>
#> 1 Drug A <tibble [98 x 4]> <tbl_vrgr>
#> 2 Drug B <tibble [102 x 4]> <tbl_vrgr>

我们现在可以使用保存在 df_uv 中的表。使用 tbl_merge() 将它们合并到一个表中功能。

tbl_merge(
tbls = df_uv$tbl_uv, # list of the univariate logistic regression tables
tab_spanner = paste0("**", df_uv$trt, "**") # adding stars to bold the header
)

这将产生下表。我希望这是有帮助的!

enter image description here

关于r - 如何在表格中总结多个逻辑回归模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60958953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com