Пакет 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"
) 
Другие вопросы по тегам