是否可以使用gtsummary
函数对回归表中的变量进行排序?例如,假设我有以下模型:
model <- lm(formula = mpg ~ disp + drat + hp, data = mtcars)
我想用以下顺序的自变量创建一个回归表:草稿,则hp,然后disp. 下面的代码可以实现这个目标:
library(gtsummary)
lm(formula = mpg ~ drat + hp + disp, data = mtcars) |>
tbl_regression()
但是,而不是重新运行回归,我想重新排序包含在model
对象中的变量。是否有一种方法可以使用gtsummary
函数(或其他后估计函数)来做到这一点?
重新排序变量的最简单方法是按照您喜欢的顺序重新运行带有变量的模型。但是对于大型模型,这可能会很耗时。
在每个gtsummary对象中都有一个称为.$table_body
的数据帧。从本质上讲,gtsummary是该数据框架的花哨打印,您可以根据需要重新排序行。
数据框架中有一列称为variable,您可以将任何变量排序到顶部或底部。在下面的例子!
library(gtsummary)
#> #BlackLivesMatter
library(dplyr)
model <- lm(formula = mpg ~ disp + drat + hp, data = mtcars)
tbl_regression(model) %>%
# re-order the variables in the table
modify_table_body(
~.x %>%
arrange(desc(variable == "hp")) %>%
arrange(desc(variable == "drat"))
) %>%
as_kable() # convert to kable so it'll display on stackoverflow