Пакет R gtsummary: как управлять / скрывать строки в сводной таблице
Я работаю над проектом с gtsummary. Для одной из таблиц мне нужно создать длинную таблицу, в которой перечислены ковеременные до и после процесса matchit.
Моя проблема в том, что для всех переменных (например,ожирения) он читает одну строку, ожирение, затем следующую строку, ожирение, а затем следующую строку, не ожирение. Это три таблицы, для которых я хочу показать только одну: Диабет N (%).
Я пробовал редактировать дихотомические переменные, вводя Null
, пытаясь найти row_hide
функция, но безрезультатно.
Вот мой код:
Создание суда
trialCAS1 <- index_CAS %>%
select(TopDecile, Gender, Obesity, Diabetes, Diabetes_Complex, etc)
Табл. Сводка
CAStable1 <- tbl_summary(trialCAS1,
by = TopDecile,
missing = "no") %>%
add_n() %>%
modify_header(label = "**Variable**") %>%
bold_labels()
Я включил первую попавшуюся таблицу.
1 ответ
В tbl_summary()
функция изо всех сил пытается угадать тип передаваемых данных (категориальный, дихотомический и непрерывный). Он не всегда угадывает, что мы хотели бы видеть, но значение по умолчанию всегда можно изменить с помощью аргументов вtbl_summary()
! Я буду использоватьtrial
набор данных в пакете {gtsummary} в качестве примера.
Вот результат по умолчанию:
library(gtsummary)
trial %>%
select(trt, grade, stage) %>%
tbl_summary(by = trt)
По умолчанию сводная статистика для оценки и этапа отображается в нескольких строках. Однако представьте, что нас интересует только частота заболевания I степени и частота рака T1. Мы можем использоватьtbl_summary(value=)
аргумент, чтобы указать, что это единственные значения, которые мы хотим отобразить (которые затем по умолчанию будут печатать их как дихотомические переменные). В приведенном ниже примере я также обновил отображаемую метку, чтобы указать, что это только уровни Grade I и Stage T1.
trial %>%
select(trt, grade, stage) %>%
tbl_summary(
by = trt,
value = list(grade ~ "I",
stage ~ "T1"),
label = list(grade ~ "Grade I",
stage ~ "Stage T1")
)
Основываясь на том, что я вижу из вашего кода и результатов, я думаю, что этот код будет работать для вас с вашим набором данных:
tbl_summary(
trialCAS1,
by = TopDecile,
missing = "no".
value = Obesity ~ "Obese",
label = Obesity ~ "Obese"
)